小编Aar*_*and的帖子

有没有办法在TSQL中生成表创建脚本?

有没有办法纯粹在 T-SQL 中从现有表生成创建脚本(即不使用 SMO,因为 T-SQL 无法访问 SMO)。假设一个存储过程接收一个表名并返回一个包含给定表的创建脚本的字符串?

现在让我描述一下我面临的情况,因为可能有不同的方法来解决这个问题。我有一个包含几十个数据库的实例。这些数据库都具有相同的架构、相同的表、索引等。它们是作为第三方软件安装的一部分创建的。我需要有一种与他们合作的方法,以便我可以以特别的方式从他们那里收集数据。dba.se 的好人已经在这里帮助了我如何在不同的数据库中创建触发器?

目前我需要找到一种方法来从所有数据库的表中进行选择。我已将所有数据库名称记录到一个名为的表中,Databasees并编写了以下脚本来对所有数据库执行 select 语句:

IF OBJECT_ID('tempdb..#tmp') IS NOT NULL
DROP TABLE #tmp

select * into #tmp from Database1.dbo.Table1 where 1=0
DECLARE @statement nvarchar(max) = 
  N'insert into #tmp select * from Table1 where Column1=0 and Cloumn2 =1'

DECLARE @LastDatabaseID INT
SET @LastDatabaseID = 0

DECLARE @DatabaseNameToHandle varchar(60)
DECLARE @DatabaseIDToHandle int

SELECT TOP 1 @DatabaseNameToHandle = Name,
@DatabaseIDToHandle = Database_Ref_No
FROM Databasees
WHERE Database_Ref_No > @LastDatabaseID
ORDER BY Database_Ref_No

WHILE @DatabaseIDToHandle …
Run Code Online (Sandbox Code Playgroud)

sql-server dynamic-sql t-sql sql-server-2012

22
推荐指数
2
解决办法
8万
查看次数

列出给定登录的所有映射用户的查询

查看特定登录的属性时,可以看到映射到该登录的用户列表: 在此处输入图片说明

我分析了 SQL Server Management Studio (SSMS),我看到 SSMS 一次连接到每个数据库并从 sys.database_permissions 检索信息

是否可以编写一个查询来检索上面显示的用户映射信息,或者我是否被迫使用游标或 sp_MSforeachdb 或类似的东西?

sql-server-2008 security sql-server permissions logins

22
推荐指数
3
解决办法
8万
查看次数

认证的价值

问题

  • 你有什么认证?
  • 您的认证(或没有认证)曾经对您有利还是不利?
  • 您是否打算联系认证?
  • 你更新你的认证吗?如果是,您的雇主是否积极支持续签?

career

21
推荐指数
10
解决办法
1052
查看次数

如何获得MAX行

在 SQL Server 中,我总是发现获取数据集的最大行数很痛苦,我正在寻找一个方法列表来检索最大行数,并提供一些有关性能和可维护性的指导。

示例表:

DECLARE @Test TABLE (ID INT IDENTITY(1,1), name VARCHAR(50), 
                     dateOfBirth DATETIME, TaxNumber varchar(10))

INSERT INTO @Test (name, dateOfBirth, TaxNumber)
SELECT 'Fred', convert(datetime, '25/01/1976', 103), '123' UNION ALL
SELECT 'Bob', convert(datetime, '03/03/1976', 103), '234'  UNION ALL
SELECT 'Jane', convert(datetime, '13/06/1996', 103), '345' UNION ALL
SELECT 'Fred', convert(datetime, '14/02/1982', 103), '456' UNION ALL
SELECT 'Bob', convert(datetime, '25/10/1983', 103), '567' UNION ALL
SELECT 'Jane', convert(datetime, '12/04/1995', 103), '678' UNION ALL
SELECT 'Fred', convert(datetime, '03/03/1976', 103), '789'

select * from …
Run Code Online (Sandbox Code Playgroud)

sql-server

21
推荐指数
1
解决办法
9042
查看次数

连接池正在重置,错误:18056,严重性:20,状态:46。 & 性能计数器未显示

我们使用 SQL 身份验证(以减少连接池的数量)和 .NET 4.0 连接字符串连接到 Windows 2008 R2 Enterprise Server 上的 SQL Server Enterprise Edition 2012 SP1:

Microsoft SQL Server 2012 (SP1) - 11.0.3000.0 (X64)
2012 年 10 月 19 日 13:38:57
版权所有 (c) Microsoft Corporation
Enterprise Edition(64 位)在 Windows NT 6.1(Build 7601:Service Pack 1)上

我们使用大约 50 个服务器分成 8 个不同的组,网站的不同部分。

我们的网站正在使用此 SQL Server 来记录访问跟踪数据。在过去的几天里,它发出了有关重置连接池的以下消息:

客户端无法重用 SPID 1327 的会话,该会话已为连接池重置。失败 ID 为 46。此错误可能是由较早的操作失败引起的。在此错误消息之前立即检查错误日志中是否有失败的操作。

错误日志如下:

错误:18056,严重性:20,状态:46
。客户端无法重用 SPID 959 的会话,该会话已为连接池重置。失败 ID 为 46。此错误可能是由较早的操作失败引起的。在此错误消息之前立即检查错误日志中是否有失败的操作。
用户“xxxx”登录失败。原因:重新验证连接上的登录时,无法打开登录对象中配置的数据库“xxxxxxxx”。[客户:10.xx.xx.xxx]

经过一番挖掘,我在 CSS 博客上找到了这篇文档:它是如何工作的:错误 18056 – 客户端无法重用带有 SPID …

sql-server sql-server-2012 connection-pooling

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

将维护计划复制到不同的服务器

有没有办法将维护计划从一个 SQL Server 2012 复制到另一个?无法同时(在不同网络上)通过相同的 Management Studio 副本访问两台服务器。

sql-server-2012 maintenance-plans

21
推荐指数
2
解决办法
5万
查看次数

什么是 SQL Server“Denali”?什么是新的?

我在 MSDN 的下拉列表中找到了一个名为SQL Server "Denali"的新标题,但我没有找到太多关于它的信息:

是否有人对此版本中的新功能或重大错误修复有更详细的信息?我希望有人使用过或测试过它。

新功能

features sql-server-2012

20
推荐指数
6
解决办法
6257
查看次数

ROLLBACK 是快速操作吗?

RDBMS 系统是否针对COMMIT操作进行了优化?ROLLBACK操作慢/快多少?为什么?

rdbms performance sql-server-2008 transaction rollback

20
推荐指数
5
解决办法
6982
查看次数

两个会话可以创建同名的#temp 表吗?

我正在创建一个临时表 ( #myTable) 并使用游标。当并发用户通过我的应用程序访问游标时,这会产生问题吗?它是否允许我创建具有相同名称的单独临时表?

以下是示例代码:

Open cursor;
Fetch Next from cursor into @Variable_Temp_Table_Name;
Create table #myTable(pk int)
While @@Fetch_Status = 0
Begin    
Fetch Next from cursor into @Variable_Temp_Table_Name;
End 
Run Code Online (Sandbox Code Playgroud)

sql-server cursors

20
推荐指数
2
解决办法
3万
查看次数

是否有理由手动更新统计信息?

在 SQL Server 中,统计信息会在Auto Update Statistics进入时自动更新True(这是默认设置)。是否有理由在什么情况下手动更新统计信息?

index sql-server maintenance statistics

19
推荐指数
3
解决办法
3874
查看次数