Tag: sql server

如何获取受存储过程影响的logging数?

对于直接针对数据库执行的INSERT , UPDATE和DELETE SQL语句,大多数数据库提供程序返回受影响的行数。 对于存储过程,受影响的logging数始终为-1 。 我们如何获得受存储过程影响的logging数?

SQL Server 2008备份错误 – 操作系统错误5(未能检索到此错误的文本。原因:15105)

任何人都可以帮助我,我试图备份位于localhost \ SQLEXPRESS数据库,但我不断收到以下错误: Backup failed for Server 'localhost\SqlExpress'. (Microsoft.SqlServer.SmoExtended) For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.0.2531.0+((Katmai_PCU_Main).090329-1045+)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Backup+Server&LinkId=20476 ADDITIONAL INFORMATION: System.Data.SqlClient.SqlError: Cannot open backup device 'C:\backup.bak'. Operating system error 5(failed to retrieve text for this error. Reason: 15105). (Microsoft.SqlServer.Smo) For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.0.2531.0+((Katmai_PCU_Main).090329-1045+)&LinkId=20476 任何人都可以解释我在这里做错了吗? 谢谢

SQL Server 2008中“WHERE”子句中的“CASE”语句

我正在使用“WHERE”子句中包含“CASE”语句的查询。 但是SQL Server 2008在执行时会出现一些错误。 任何人都可以请帮助我正确的查询? 这是查询: SELECT tl.storenum 'Store #', co.ccnum 'FuelFirst Card #', co.dtentered 'Date Entered', CASE st.reasonid WHEN 1 THEN 'Active' WHEN 2 THEN 'Not Active' WHEN 0 THEN st.ccstatustypename ELSE 'Unknown' END 'Status', CASE st.ccstatustypename WHEN 'Active' THEN ' ' WHEN 'Not Active' THEN ' ' ELSE st.ccstatustypename END 'Reason', UPPER(REPLACE(REPLACE(co.personentered,'RT\\\\',''),'RACETRAC\\\\','')) 'Person […]

确定SQL Server数据库大小

SQL Server 2005/2008 Express版本每个数据库的限制为4 GB。 据我所知,数据库引擎只考虑数据,因此不包括日志文件,未使用的空间和索引大小。 获取MDF文件的长度不应根据SQL Server限制给出正确的数据库大小。 我的问题是如何获得数据库的大小?

SQL Server:将UniqueIdentifier转换为case语句中的string

我们有一个日志表,有一个消息列,有时有一个exception堆栈跟踪。 我有一些标准,确定消息是否有这个。 我们不希望将这些消息显示给客户,而是显示如下消息: 内部错误发生。 请使用参考代码xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx与我们联系 其中xxx等是表中的guid列。 我正在写这样的存储过程: declare @exceptionCriteria nvarchar(50) select @exceptionCriteria = '%<enter criteria etc>%' select LogDate, case when Message like @exceptionCriteria then 'Internal Error Occured. Reference Code: ' + str(RequestID) else Message end from UpdateQueue RequestID是SQL Server中的Guid数据types,在这里不会转换为string。 我已经看到了一些关于如何将Guid转换为string的代码,但它是multithreading的,我不认为它会在case语句中起作用。 有任何想法吗?

如何使用查询删除sql server中的空约束

我试图删除SQL Server 2008中不空的约束,而不会丢失数据。

我们可以传递参数到SQL中的视图?

我们可以将parameter passing给Microsoft SQL Server中的视图吗? 我尝试以下面的方式create view ,但是它不起作用: create or replace view v_emp(eno number) as select * from emp where emp_id=&eno;

SQL脚本中的错误:每个批次只允许一个语句

我有4个SQL脚本,我想在PostDeployment中的DACPAC中运行,但是当我尝试为其中的3个构buildVS项目时,出现以下错误: Only one statement is allowed per batch. A batch separator, such as 'GO', might be required between statements. 这些脚本仅在DB上的不同表中包含INSERT语句。 而且他们都是这样构build的 IF NOT EXISTS (SELECT 1 FROM dbo.Criteria WHERE Name = 'Mileage') INSERT INTO dbo.Criteria(Name) VALUES ('Mileage'); 只有在不同的表格和不同的数据。 我的问题是,为什么当所有脚本在语法和操作方面相同时,VS抱怨其中的3个? PS:在语句之间添加“GO”,因为错误提示不会执行任何操作。

何时使用SELECT … FOR UPDATE?

请帮我理解SELECT … FOR UPDATE的用例。 问题1 :下面是SELECT … FOR UPDATE一个很好的例子吗? 鉴于: 客房[ID] 标签[id,name] room_tags [room_id,tag_id] room_id和tag_id是外键 应用程序想要列出所有房间及其标签,但需要区分没有标签的房间和已被移除的房间。 如果不使用SELECT … FOR UPDATE,会发生什么情况是: 原来: 房间包含[id = 1] 标签包含[id = 1, name = 'cats'] room_tags包含[room_id = 1, tag_id = 1] 主题1: SELECT id FROM rooms; returns [id = 1] 线程2: DELETE FROM room_tags WHERE room_id = 1; 线程2: DELETE […]

MySQL与SQL Server与Oracle

我一直只使用MySQL,没有其他数据库系统。 在今天的一次公司会议上提出了一个问题,我不好意思,我不知道:对开发人员来说,MS或Oracle提供的MySQL缺乏什么样的翻天覆地的function,并允许MS和Oracle为他们的系统收费?