Questions tagged «sql-server»

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

11
如何导入大的MS SQL .sql文件?
我使用RedGate SQL数据比较并生成一个.sql文件,因此可以在本地计算机上运行它。但是问题在于文件超过300mb,这意味着我无法复制和粘贴,因为剪贴板将无法处理它,并且当我尝试在SQL Server Management Studio中打开文件时出现错误关于文件太大。 有没有一种方法可以运行大型.sql文件?该文件基本上包含两个新表的数据。
240 sql  sql-server  import 


12
杀死与数据库的所有连接的脚本(超过RESTRICTED_USER ROLLBACK)
我有一个开发数据库,​​该数据库经常从Visual Studio数据库项目中重新部署(通过TFS自动生成)。 有时,当我运行构建时,会出现以下错误: ALTER DATABASE failed because a lock could not be placed on database 'MyDB'. Try again later. ALTER DATABASE statement failed. Cannot drop database "MyDB" because it is currently in use. 我尝试了这个: ALTER DATABASE MyDB SET RESTRICTED_USER WITH ROLLBACK IMMEDIATE 但我仍然无法删除数据库。(我的猜测是大多数开发人员都dbo可以访问。) 我可以手动运行SP_WHO并开始终止连接,但是我需要一种自动方式来自动构建。(尽管这次我的连接是我要删除的数据库上的唯一连接。) 是否有一个脚本可以删除我的数据库,而不管连接了谁?


4
ON [PRIMARY]是什么意思?
我正在创建一个SQL安装脚本,并以其他人的脚本为例。这是脚本的示例: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[be_Categories]( [CategoryID] [uniqueidentifier] ROWGUIDCOL NOT NULL CONSTRAINT [DF_be_Categories_CategoryID] DEFAULT (newid()), [CategoryName] [nvarchar](50) NULL, [Description] [nvarchar](200) NULL, [ParentID] [uniqueidentifier] NULL, CONSTRAINT [PK_be_Categories] PRIMARY KEY CLUSTERED ( [CategoryID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = …

11
检查是否存在行,否则插入
我需要编写一个T-SQL存储过程来更新表中的一行。如果该行不存在,则将其插入。所有这些步骤都由事务包装。 这是用于预订系统的,因此它必须是原子性和可靠的。如果已提交交易并预订了航班,则必须返回true。 我是T-SQL的新手,不确定如何使用@@rowcount。这是我到目前为止所写的。我在正确的道路上吗?我相信这对您来说是一个简单的问题。 -- BEGIN TRANSACTION (HOW TO DO?) UPDATE Bookings SET TicketsBooked = TicketsBooked + @TicketsToBook WHERE FlightId = @Id AND TicketsMax < (TicketsBooked + @TicketsToBook) -- Here I need to insert only if the row doesn't exists. -- If the row exists but the condition TicketsMax is violated, …

14
varchar和nvarchar SQL Server数据类型之间的主要性能差异是什么?
我正在使用,在学校为小型Web应用程序开发数据库SQL Server 2005。 我看到一些关于varcharvs 问题的流派nvarchar: 使用varchar除非你处理了很多国际化的数据,然后使用nvarchar。 只需使用nvarchar一切。 我开始看到视图2的优点。我知道nvarchar确实占用了两倍的空间,但这并不一定是什么大问题,因为这只会存储数百名学生的数据。在我看来,最简单的方法就是不用担心,只允许所有内容都使用nvarchar。还是我想念的东西?

3
在SQL Server中正确使用事务
我有2个命令,需要两个命令都正确执行或都不执行。所以我认为我需要一笔交易,但是我不知道如何正确使用它。 以下脚本有什么问题? BEGIN TRANSACTION [Tran1] INSERT INTO [Test].[dbo].[T1] ([Title], [AVG]) VALUES ('Tidd130', 130), ('Tidd230', 230) UPDATE [Test].[dbo].[T1] SET [Title] = N'az2' ,[AVG] = 1 WHERE [dbo].[T1].[Title] = N'az' COMMIT TRANSACTION [Tran1] GO 该INSERT指令被执行,但该UPDATE命令有一个问题。 如果它们中的任何一个执行有错误,我该如何实现以回滚这两个命令?

8
您如何在数据库中表示继承?
我正在考虑如何在SQL Server数据库中表示复杂的结构。 考虑一个需要存储一系列对象的详细信息的应用程序,这些对象共享一些属性,但还有许多其他不常见的属性。例如,商业保险一揽子计划可能在同一份保单记录中包括责任险,汽车险,财产险和赔偿险。 在C#等中实现此功能很简单,因为您可以创建一个带有Sections集合的Policy,其中Section是根据各种封面类型的要求继承的。但是,关系数据库似乎不允许这样做。 我可以看到有两个主要选择: 创建一个Policy表,然后创建一个Sections表,其中包含所有可能的变体所需的所有字段,其中大多数都是null。 创建一个Policy表和许多Section表,每种表一个。 这两种选择似乎都不令人满意,尤其是因为有必要在所有节中编写查询时,这将涉及大量联接或大量空检查。 这种情况下的最佳做法是什么?

10
如何在LIKE子句中转义方括号?
我正在尝试使用存储过程来过滤项目。该列是varchar(15)。我要过滤的项目名称中带有方括号。 例如: WC[R]S123456。 如果我这样做LIKE 'WC[R]S123456',将不会返回任何内容。 我发现了有关将ESCAPE关键字用于with的一些信息,LIKE但是我不明白如何使用它将方括号视为常规字符串。


10
仅当sql服务器中存在外键约束时,如何删除它?
我可以使用以下代码删除表(如果存在),但不知道如何在约束条件下进行操作: IF EXISTS(SELECT 1 FROM sys.objects WHERE OBJECT_ID = OBJECT_ID(N'TableName') AND type = (N'U')) DROP TABLE TableName go 我还使用以下代码添加了约束: ALTER TABLE [dbo].[TableName] WITH CHECK ADD CONSTRAINT [FK_TableName_TableName2] FOREIGN KEY([FK_Name]) REFERENCES [dbo].[TableName2] ([ID]) go


14
将逗号分隔的字符串变成单独的行
我有一个像这样的SQL表: | SomeID | OtherID | Data +----------------+-------------+------------------- | abcdef-..... | cdef123-... | 18,20,22 | abcdef-..... | 4554a24-... | 17,19 | 987654-..... | 12324a2-... | 13,19,20 是否有一个查询,我可以在其中执行这样的查询SELECT OtherID, SplitData WHERE SomeID = 'abcdef-.......',该查询返回单个行,如下所示: | OtherID | SplitData +-------------+------------------- | cdef123-... | 18 | cdef123-... | 20 | cdef123-... | 22 …
234 sql-server  tsql  split  comma 

5
SQL区分大小写的字符串比较
如何比较字符串,以便仅在每个字符串的大小写相等的情况下,比较才为真。例如: Select * from a_table where attribute = 'k' ...将返回具有'K'属性的行。我不要这种行为。
234 sql  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.