小编mar*_*c_s的帖子

SQL Server 2005 根据行内日期限制更新或删除记录

我有两个 SQL Server 之间的事务复制。出于测试目的,我在订阅者处删除了许多仍然存在于发布者处的记录。

我现在知道,如果有人在发布者处更新或删除了我的订阅者上不存在的一些记录,那么我的复制将会崩溃。

我知道我也可以在分发服务器上过滤数据,但这意味着重新初始化我的订阅者,这意味着通过慢速链接传输近 40GB。

因此,当我测试我订阅的数据库时,我希望限制用户只能在发布者端更新或删除记录。我的源表有一个日期字段,我想根据日期限制更新或删除。

为此使用触发器还是约束更好?

如何尽可能避免记录锁定?

replication trigger sql-server-2005 sql-server constraint

4
推荐指数
1
解决办法
1141
查看次数

我可以从 SSIS 2012 连接到 SQL Server 2008 R2 数据库吗?

我需要重新开发 ETL 过程,并且正在评估选项。

我正在运行 SQL Server 2008 R2 数据库,而 SSIS 2008 将花费很长时间来开发和测试所需的包。我知道 SSIS 2012 得到了显着改进,将帮助我更有效地开发包,但我不知道版本控制方面的考虑。

我可以在 SQL Server 2008 R2 服务器上运行 SSIS 2012 包吗?或者我可以在 SQL Server 2012 数据库上运行它并连接到 SQL Server 2008 R2 数据库吗?以这种方式连接时我会遇到任何问题吗?

sql-server ssis sql-server-2008-r2

4
推荐指数
1
解决办法
1854
查看次数

如何在 SQL Server 中的更新/插入事务之外更新视图

查看 SQL Server 索引视图,我看到这些视图在更新相关表的事务中更新。我想知道是否有办法解决它?

将有大约 10 个视图和 20 个索引依赖于同一个表。当我对依赖表进行更新时,我不想等待更新视图和视图索引。我想确保在事务中更新表,并在某种守护程序模式下更新视图。

index sql-server-2008 sql-server

4
推荐指数
1
解决办法
402
查看次数

日志传送和日志文件:主站或从站上的日志都可以被截断/收缩吗?

SQL Server 2008,标准日志传送设置(嗯,使用 redgate,但这是一个非常正常的流程)。

在副本上,日志文件非常大。

想知道在备份/副本服务器上是否可以以某种方式缩小日志?

谢谢!

sql-server-2008 sql-server log-shipping

4
推荐指数
1
解决办法
229
查看次数

SQL Server中域名更改后如何使用Windows身份验证模式登录?

我正在使用 SQL Servre 2008 R2。我最近更改了我的域名,之后当我尝试使用 Windows 身份验证登录到 SSMS 时,出现错误

用户用户名
Microsoft Sql Server登录失败错误:18456。

如何解决?有人可以帮助再次使用Windows身份验证模式登录SSMS吗?

提前致谢

sql-server-2008 sql-server-2008-r2

4
推荐指数
1
解决办法
1万
查看次数

在 SQL Server 中是否可以将默认的“order by”方向从 asc 更改为 desc?

这个问题是在工作中的讨论中提出的……给定以下 T-SQL 语句:

select firstname, lastname from users order by lastname;
Run Code Online (Sandbox Code Playgroud)

order by子句的默认排序顺序是asc

SQL Server 中是否有允许您更改ASC|DESC未指定修饰符时使用的默认顺序的设置?

sql-server t-sql

4
推荐指数
1
解决办法
892
查看次数

同一等待资源上的死锁

我在 SQL Server 中遇到死锁,但我不明白为什么会出现死锁。看起来这两个资源实际上是一样的。这意味着他们每个人都拥有锁并再次请求相同的锁,这被 SQL 标记为死锁。

桌子:

CREATE TABLE [dbo].[Device](
[Id] [bigint] IDENTITY(1,1) NOT NULL,
[DeviceType] [nvarchar](255) NOT NULL,
[ControllerIdentifier] [nvarchar](255) NULL,
[Created] [datetimeoffset](7) NULL,
[LastModified] [datetimeoffset](7) NULL,
[DeviceId] [nvarchar](255) NULL,
[TypeDescription] [nvarchar](255) NULL,
[IpAddress] [nvarchar](255) NULL,
[Number] [bigint] NULL,
[SerialNumber] [bigint] NULL,
[SoftwareVersionApplication] [nvarchar](255) NULL,
[Type] [nvarchar](255) NULL,
[State] [nvarchar](255) NULL,
[StateUpdated] [datetimeoffset](7) NULL,
[MainType] [nvarchar](255) NULL,
[SubType] [nvarchar](255) NULL,
[Firmware] [nvarchar](255) NULL,
[ConfigurationUpdated] [datetimeoffset](7) NULL,
[ConsumptionType] [nvarchar](255) NULL,
[VendorId] [nvarchar](255) NULL,
[Owner] [nvarchar](255) NULL,
[SupportsAutoCollection] [bit] NULL,
[RepeaterStatus] …
Run Code Online (Sandbox Code Playgroud)

sql-server deadlock

4
推荐指数
1
解决办法
3093
查看次数

如何使用镜像还原 SQL Server 数据库

我有带镜像的 SQL Server。

我正在尝试使用以下命令恢复数据库:

USE [master]
ALTER DATABASE [CentralStorage] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
RESTORE DATABASE [CentralStorage] FROM  DISK = N'D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup\XXX.bak' WITH  FILE = 1,  NOUNLOAD,  REPLACE,  STATS = 5
ALTER DATABASE [XXX] SET MULTI_USER
Run Code Online (Sandbox Code Playgroud)

我尝试了以下方法:

  • 我设置了“删除尾部日志”
  • 我设置了“关闭连接”
  • 覆盖现有数据库。

我收到错误:

消息 1468,级别 16,状态 1,第 2 行
无法对数据库“XXX”执行操作,因为它涉及数据库镜像会话或可用性组。不允许对参与数据库镜像会话或可用性组的数据库执行某些操作。
消息 5069,级别 16,状态 1,第 2 行
ALTER DATABASE 语句失败。
消息 3104,级别 16,状态 1,第 3 行
RESTORE 无法对数据库“XXX”进行操作,因为它已配置为数据库镜像或已加入可用性组。如果您打算还原数据库,请使用 ALTER DATABASE 删除镜像或从其可用性组中删除数据库。
消息 3013,级别 16,状态 1,第 3 行
RESTORE DATABASE 异常终止。

附加信息: …

sql-server

4
推荐指数
1
解决办法
4万
查看次数

接受xml文件作为输入的存储过程

<?xml version="1.0"?>
<catalog>
   <book id="bk101">
      <author>Gambardella, Matthew</author>
      <title>XML Developer's Guide</title>
      <genre>Computer</genre>
      <price>44.95</price>
      <publish_date>2000-10-01</publish_date>
      <description>An in-depth look at creating applications 
      with XML.</description>
   </book>
   <book id="bk102">
      <author>Ralls, Kim</author>
      <title>Midnight Rain</title>
      <genre>Fantasy</genre>
      <price>5.95</price>
      <publish_date>2000-12-16</publish_date>
      <description>A former architect battles corporate zombies, 
      an evil sorceress, and her own childhood to become queen 
      of the world.</description>
   </book>
</catalog>
Run Code Online (Sandbox Code Playgroud)

我有上面的xml文件。

在我的SQL Server 2008数据库有表Book__Master中的所有列都相同上述xml文件的元素,即有像列bookidauthortitle等。

现在我想编写一个存储过程,它接受这个 xml 文件作为输入参数,并将元素的值按原样存储在它们各自的列中。

任何人都可以帮助我如何编写这种类型的存储过程?

xml stored-procedures sql-server-2008-r2

4
推荐指数
1
解决办法
1万
查看次数

如果用户拥有数据库固定角色,他们是该角色的管理员吗?

我有 SQL Server 2012。当我在“拥有的架构”屏幕中创建用户时,其中一个选项是固定数据库角色。如果我拥有固定的数据库角色:

  1. 我被授予什么权限?
  2. 我是这个角色的管理员?

sql-server sql-server-2012

4
推荐指数
1
解决办法
440
查看次数