我需要将数据库从远程服务器复制到本地服务器.我尝试使用SQL Server Management Studio,但它只备份到远程服务器上的驱动器.
一些要点:
有关如何复制此数据库的任何想法?我是否必须使用第三方工具?
我需要编写一个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, I must not insert
-- the row and return FALSE
IF @@ROWCOUNT = 0
BEGIN
INSERT INTO Bookings ... (omitted)
END
-- END TRANSACTION …Run Code Online (Sandbox Code Playgroud) 我正在创建一个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 = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
Run Code Online (Sandbox Code Playgroud)
有谁知道ON [PRIMARY]命令有什么作用?
我最近使用了我公司的备用笔记本电脑(一般用户设置),而我的维修工作正在进行中.登录数据库时,我检查了SQL Server Management Studio中的"记住密码"选项.
我需要清除我用来阻止下一个使用笔记本电脑的人使用我的登录名和密码的登录名和密码信息.我怎样才能做到这一点?
我可以使用以下代码删除表,但不知道如何使用约束执行相同的操作:
IF EXISTS(SELECT 1 FROM sys.objects WHERE OBJECT_ID = OBJECT_ID(N'TableName') AND type = (N'U')) DROP TABLE TableName
go
Run Code Online (Sandbox Code Playgroud)
我还使用此代码添加约束:
ALTER TABLE [dbo].[TableName]
WITH CHECK ADD CONSTRAINT [FK_TableName_TableName2] FOREIGN KEY([FK_Name])
REFERENCES [dbo].[TableName2] ([ID])
go
Run Code Online (Sandbox Code Playgroud) 我认为上述隔离级别非常相似.有人可以用一些很好的例子来描述主要区别是什么?
我正在尝试使用类似的过滤器使用存储过程过滤项目.该列是varchar(15).我想要过滤的项目在名称中有方括号.
例如: WC[R]S123456.
如果我这样做LIKE 'WC[R]S123456',它将不会返回任何东西.
我找到了一些关于使用ESCAPE关键字的信息,LIKE但我不明白如何使用它来将方括号视为常规字符串.
我正在使用集成管道模式的AppPool运行IIS 7网站.AppPools不在NetworkService等运行.身份(按用途),但使用它自己的AppPool Identitiy(IIS AppPool\MyAppPool).
这是一个所谓的服务帐户或虚拟帐户.(用户帐户,不是完整帐户......)
我想授予此服务帐户(IIS AppPool\MyAppPool)连接到我的SQL Server 2008 Express(以混合身份验证模式运行)的权限.
虽然SQL Server可以添加任何普通用户帐户,但无法将IIS AppPool\MyAppPool虚拟帐户添加到有效登录中(SQL Server表示无法找到该帐户).
有什么技巧,我需要启用什么来使虚拟帐户工作?(根据taskmgr,w3wp.exe进程在此身份下运行,但我无法在NTFS安全性中使用该帐户...)
谢谢你的帮助!
我试图确定什么的SQL Server实例/ SQL Express的我已经安装了(手动或编程),但所有的例子都告诉我运行一个SQL查询,以确定这里面假设我已经连接到特定实例.