Questions tagged «sql-server»

Microsoft SQL Server是一个关系数据库管理系统(RDBMS)。将此标签用于所有SQL Server版本,包括Compact,Express,Azure,Fast-track,APS(以前称为PDW)和Azure SQL DW。请勿将此标签用于其他类型的DBMS(MySQL,PostgreSQL,Oracle等)。除非该标签与数据库直接相关,否则请勿将其用于软件和移动开发问题。


16
是否可以使用SQL脚本确定SQL Server备份或还原过程的进度?
当我使用MS SQL Server Management Studio备份或还原数据库时,可以直观地看到该过程进行了多长时间,因此还需要等待多长时间才能完成。如果我使用脚本启动备份或还原,是否有办法监视进度,或者我只是坐下来等待它完成(希望没有任何问题?) 编辑:我特别需要能够独立于启动备份或还原的会话来监视备份或还原进度。


3
在INNER JOIN条件下使用“ OR”是个坏主意吗?
为了提高超慢查询的速度(如果有关系,请在SQL Server 2008上,在两个表中各只有几分钟,每行只有约50,000行,要花几分钟),将问题缩小到OR内部联接中,例如: SELECT mt.ID, mt.ParentID, ot.MasterID FROM dbo.MainTable AS mt INNER JOIN dbo.OtherTable AS ot ON ot.ParentID = mt.ID OR ot.ID = mt.ParentID 我将其更改为(希望是)一对等效的左联接,如下所示: SELECT mt.ID, mt.ParentID, CASE WHEN ot1.MasterID IS NOT NULL THEN ot1.MasterID ELSE ot2.MasterID END AS MasterID FROM dbo.MainTable AS mt LEFT JOIN dbo.OtherTable AS ot1 …


10
如何在SQL Server 2008 Management Studio中查看text或varchar(MAX)列的全部内容?
在此实时SQL Server 2008(内部版本10.0.1600)数据库中,有一个Events表,其中包含text名为的列Details。(是的,我意识到这实际上应该是一varchar(MAX)列,但是设置此数据库的人并没有那样做。) 该列包含大量异常日志和相关的JSON数据,我正尝试通过SQL Server Management Studio访问这些日志,但是每当我将结果从网格复制到文本编辑器时,它都会将其截断为43679个字符。 我已经在Internet上的各个位置阅读过,可以将XML数据的“检索的最大字符数”设置Tools > Options > Query Results > SQL Server > Results To Grid为“无限”,然后执行如下查询: select Convert(xml, Details) from Events where EventID = 13920 (请注意,数据是列根本不是XML。CONVERT将列转换为XML只是我从Googling中发现的一种变通方法,其他人过去一直在绕过SSMS从a text或varchar(MAX)列中获取数据的限制。) 但是,在设置上面的选项,运行查询并单击结果中的链接之后,我仍然收到以下错误: 无法显示XML。发生以下错误:发生了意外的文件结尾。第5行,位置220160。 一种解决方案是增加从服务器检索的XML数据字符的数量。若要更改此设置,请在“工具”菜单上,单击“选项”。 那么,关于如何访问此数据的任何想法吗?会转换列以varchar(MAX)解决我的问题吗?


5
如何在存储过程中生成新的Guid?
我目前有一个存储过程,我想在其中向表中插入新行。 insert into cars (id, Make, Model) values('A new Guid', "Ford", "Mustang") 因此,主键“ id”是Guid。我知道如何用C#代码创建新的Guid,但是在存储过程中,我不确定如何为主键值生成新的Guid。

3
存储DateTime(UTC)与存储DateTimeOffset
我通常有一个“拦截器”,在从数据库读取/写入数据库之前,它会进行DateTime转换(从UTC到本地时间,从本地时间到UTC),因此我可以DateTime.Now在整个系统中使用(派生和比较)而不必担心关于时区。 关于序列化和在计算机之间移动数据,无需费心,因为日期时间始终是UTC。 我应该继续以UTC格式存储日期(SQL 2008-datetime),还是应该使用DateTimeOffset(SQL 2008-datetimeoffset)存储日期? 数据库中的UTC日期(datetime类型)已经可以使用并且已经知道很长时间了,为什么要更改它?有什么优势? 我已经研究过类似这样的文章,但是我并不是100%确信。有什么想法吗?



3
将DateTime数据库字段设置为“ Now”
在VB.net代码中,我创建带有SQL参数的请求。我将DateTime参数设置为值DateTime.Now,我的请求将是什么样? UPDATE table SET date = "2010/12/20 10:25:00"; 要么 UPDATE table SET date = GETDATE(); 在第一种情况下,我确定每个记录都将设置为完全相同的时间。在第二种情况下,它取决于DBMS如何处理请求。这使我想到第二个问题:使用NOW()更新大表时,SQL Server是否设置相同的日期和时间? 编辑:用GETDATE()替换了NOW()(在SQL Server中不存在)。

11
如何立即终止/停止长的SQL查询?
我正在使用SQL Server 2008及其管理工作室。我执行了产生许多行的查询。我试图通过红色的“取消”按钮将其取消,但在过去的10分钟内仍未停止。通常会在3分钟内停止。 原因可能是什么?如何立即停止?

10
如何设置SQL Server连接字符串?
我正在开发一个简单的C#应用​​程序,我想知道这一点:当我将应用程序连接到PC上的SQL Server时,我知道了连接字符串(服务器名称,密码等),但是当我将其连接到另一个时PC上,SQL Server连接字符串不同。SQL Server中是否有一个可以连接的默认帐户附带的普通帐户?我听说过saSQL Server中的帐户,这是sa什么?

8
我可以在逻辑上对表中的列进行重新排序吗?
如果要向Microsoft SQL Server中的表添加列,是否可以控制该列在查询中的逻辑显示位置? 我不想弄乱磁盘上列的物理布局,但是我想在可能的情况下在逻辑上将列分组在一起,以便像SQL Server Management Studio这样的工具以一种方便的方式列出表的内容。 我知道我可以通过进入表的“设计”模式并拖动列的顺序来通过SQL Management Studio执行此操作,但是我希望能够在原始SQL中执行此操作,以便执行顺序从命令行编写脚本。
93 sql-server 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.