Questions tagged «sql-server»

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


5
SQL Server-事务会因错误而回滚?
我们拥有在SQL Server 2005上运行某些SQL的客户端应用程序,例如: BEGIN TRAN; INSERT INTO myTable (myColumns ...) VALUES (myValues ...); INSERT INTO myTable (myColumns ...) VALUES (myValues ...); INSERT INTO myTable (myColumns ...) VALUES (myValues ...); COMMIT TRAN; 它由一个长字符串命令发送。 如果插入操作之一失败,或者命令的任何部分失败,SQL Server会回滚事务吗?如果不回滚,是否必须发送第二条命令来回滚? 我可以提供有关所使用的api和语言的详细信息,但我认为SQL Server对于任何语言都应做出相同的响应。


10
如何在SQL Server中编写foreach?
我正在尝试按照for-each的方式实现某些目标,在这里我想获取返回的select语句的ID并使用它们中的每一个。 DECLARE @i int DECLARE @PractitionerId int DECLARE @numrows int DECLARE @Practitioner TABLE ( idx smallint Primary Key IDENTITY(1,1) , PractitionerId int ) INSERT @Practitioner SELECT distinct PractitionerId FROM Practitioner SET @i = 1 SET @numrows = (SELECT COUNT(*) FROM Practitioner) IF @numrows > 0 WHILE (@i <= (SELECT MAX(idx) …
192 sql-server  tsql 


16
SQL Server查询以查找数据库中所有用户的所有权限/访问
我想在sql 2008上写一个查询,该查询将报告直接或由于角色而有权访问特定数据库或数据库内对象(例如表,视图和存储过程)的所有用户。报告将用于安全审核目的。不知道是否有人可以完全满足我的需求,但希望可以有一个好的开始。sql 2008、2005或2000都可以,我可能可以根据需要进行转换。

8
在SQL Server中存储图像?
我做了一个小型演示站点,并在其上将图像存储在sql服务器上的图像列中。我有几个问题是... 这是一个坏主意吗? 当它增长时,会影响我网站的性能吗? 另一种选择是将映像存储在光盘上,而仅将对映像的引用存储在数据库中。这肯定是许多人遇到的共同难题。我很欢迎提出建议,如果可以的话,我会很乐意减少错误。
191 sql-server  image 



8
SQL RANK()与ROW_NUMBER()
我对两者之间的差异感到困惑。运行以下SQL将获得两个重要结果集。有人可以解释差异吗? SELECT ID, [Description], RANK() OVER(PARTITION BY StyleID ORDER BY ID) as 'Rank' FROM SubStyle SELECT ID, [Description], ROW_NUMBER() OVER(PARTITION BY StyleID ORDER BY ID) as 'RowNumber' FROM SubStyle
189 sql  sql-server  tsql 


20
将数据库从单用户模式设置为多用户
我需要设置将SINGLE_USER模式恢复为的数据库的帮助MULTI_USER。每次我跑步 ALTER DATABASE BARDABARD SET MULTI_USER; GO 我收到此错误: 目前无法更改数据库“ BARDABARD”的状态或选项。 数据库处于单用户模式,并且当前有用户连接到该数据库。 它必须处于非SINGLE_USER模式才能将其设置为另一种模式,但是当数据库处于mode时,我不能将其设置为任何其他SINGLE_USER模式。
188 sql  sql-server 

8
如何在SSMS 2008的“编辑前200行”中更改SQL
在SQL Server 2008 Management Studio中,当我右键单击数据库表并选择“ 选择前100行 ”时,例如,我可以轻松地向SQL添加“ ORDER BY”语句。那很好。 但是,当我确实选择“ Edit Top 200 Rows ”时,我无法更改 SQL(这使得查找和编辑刚刚添加到其中的10,000条记录变得困难。 我非常确定我能够在SQL Server 2000中做到这一点。 SMSS 2008中有什么方法可以更改在编辑记录时显示记录的方式?

7
将列添加到表(如果尚不存在)
我想编写一个MS SQL Server查询,将查询列添加到表中。但是当我运行/执行以下查询时,我不希望显示任何错误。 我正在使用这种查询来添加表... IF EXISTS ( SELECT * FROM sys.objects WHERE OBJECT_ID = OBJECT_ID(N'[dbo].[Person]') AND TYPE IN (N'U') ) 但是我不知道如何为列编写此查询。

9
更改varchar列的最大长度?
我正在尝试将varchar列的长度从255个字符更新为500个而不丢失内容。我之前删除并重新创建过表,但是我从未接触过alter语句,这是我认为需要使用的语句。我在这里找到了文档:ALTER TABLE(Transfact-SQL),但是我无法做到这一点。 到目前为止,我有以下情况(不幸的是,基本上没有): alter table [progennet_dev].PROGEN.LE alter column UR_VALUE_3 我该如何处理?是否有更好的文档用于此语句(我对示例语句进行了一些搜索,但结果为空)?

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.