我的服务器中有两个实例,我想知道其中哪一个是默认实例。请你指出我可以识别它的方法。通过说默认实例,我的意思是监听 1433 的实例。
谢谢您的支持。
我在 SQL Server 中创建了一个组,并向其中添加了一个包含用户的 Active Directory 组。
当我尝试通过 Windows 身份验证登录时,出现以下错误:
Login failed for user 'UserName'. (Microsoft SQL Server, Error: 18456)
Run Code Online (Sandbox Code Playgroud)
但是当我只添加一个与组分开的 AD 用户时,登录没有问题。
为什么只有添加为登录名的组才能登录?
我曾尝试将 Active Directory 设置从全局类型更改为通用类型,但这并没有改变任何内容
这在 Windows 2016 服务器计算机和 SQL Server 2017 上。
我创建了一个存储过程,允许用户在 QA 环境中关闭所有数据库连接。我是 SA 并创建了程序。
当我修改 SP 时,在没有“以所有者身份执行”的情况下运行它,我得到了结果。当我添加“以所有者身份执行”时,我没有收到任何结果。
试图理解为什么。
create procedure [dbo].[DatabaseConnectionClose]
@DatabaseName varchar(255)
with execute as owner
as
DECLARE @kill varchar(8000) = '';
SELECT @kill = @kill + 'kill ' + CONVERT(varchar(5), session_id) + ';'
FROM sys.dm_exec_sessions
WHERE database_id = db_id(@DatabaseName)
select @kill as CloseConnectionScript
EXEC(@kill);
Run Code Online (Sandbox Code Playgroud) sql-server permissions sql-server-2012 connections impersonation
我们有一个遗留应用程序。出于某种原因,有人决定为每个客户创建一个数据库。所以我们有 500 多个具有相同架构的数据库。
我想转换成一个多客户端数据库。原始客户数据库没有 CustomerId。新的单一数据库确实如此。
我们正在考虑用视图替换旧的数据库,因此旧的应用程序插入/更新仍然可以工作。
老客户数据库:
CREATE TABLE [CustomerOne].[dbo].[CustomerTransaction]
(
[CustomerTransactionid] [int] identity(1,1) primary key NOT NULL,
[QuantityBought] [int] NULL,
)
Run Code Online (Sandbox Code Playgroud)
新报告数据库具有 CustomerId:
CREATE TABLE ReportingDB.[dbo].[CustomerTransaction]
(
[CustomerTransactionid] [int] identity(1,1) primary key NOT NULL,
[Customerid] [int] NOT NULL,
[QuantityBought] [int] NULL,
)
Run Code Online (Sandbox Code Playgroud)
用视图替换旧数据库
create view [CustomerOne].[dbo].[CustomerTransaction]
as
select
[CustomerTransactionid]
,1 as [CustomerId]
,[quantitybought]
from ReportingDB.[dbo].[CustomerTransaction]
where Customerid = 1
with check option
Run Code Online (Sandbox Code Playgroud)
这失败:
-- Attempt inserting into View
insert into CustomerOne.dbo.Customertransaction
(Quantitybought)
values (4)
Msg 515, Level 16, State …Run Code Online (Sandbox Code Playgroud) sql-server-2008 database-design sql-server sql-server-2012 sql-server-2016
我有一个在全球安装的应用程序,它使用从 SQL Server 2008 Express 到 SQL Server 2017 Enterprise 版的 SQL 版本。
我尝试了几种方法在一个大表上创建索引(3 列,包含 3 列),其中数据库通常处于简单恢复模式,但可以作为完整恢复模式......硬件可能因客户而异其他:
3 个中最快的是第一个选项(创建非聚集索引的传统方法),它花费了 1 小时 15 分钟来处理超过 1.06 亿条记录(该表有 200 列……不理想,但这是我正在使用的) ) 其他选项花费了三倍甚至更多的时间)
不幸的是,我无法使用在线功能,因为有多种 SQL Server 版本,并且在线仅适用于企业版。
在我的实验室中 1 小时 15 分钟太长了,我想尝试找到另一种方法来减少它,特别是在我们下一次应用程序更新中,我们将需要创建 23 个索引......而我没有' t 看到需要 5-6 小时的更新,客户也不想等待 5-6 小时来更新软件。
此外,更新过程中不需要对数据库进行任何活动。
我正在寻找的只是我可以尝试在合理的时间内创建索引的想法。没有代码!只需要理论的想法。
任何想法将不胜感激。
该实用程序mssql-conf中/opt/mssql/bin/mssql-conf有设定list,它告诉你可能的密钥,
$ sudo ./mssql-conf list
control.alternatewritethrough Enable optimized write through flush for O_DSYNC requests
control.hestacksize Host extension stack size in KB
control.writethrough Use O_DSYNC for file flag write through requests
coredump.captureminiandfull Capture both mini and full core dumps
coredump.coredumptype Core dump type to capture: mini, miniplus, filtered, full
filelocation.defaultbackupdir Default directory for backup files
filelocation.defaultdatadir Default directory for data files
filelocation.defaultdumpdir Default directory for crash dump files
filelocation.defaultlogdir Default directory for log …Run Code Online (Sandbox Code Playgroud) 我有一个查询,当field1 <> 10.
当field1为空时,这个谓词是false!
根据我的原始数学,如果null <> 10 = false,则10 = null。
这样做的理由是什么?
use master
go
ALTER DATABASE Apcore SET SINGLE_USER WITH ROLLBACK IMMEDIATE
RESTORE DATABASE Apcore
FROM DISK=N'C:\Backups\QG-V-SQL-TS$AIFS_DEVELOPMENT_APCore_FULL_20180909_230034.bak'
WITH FILE = 1,
MOVE N'APCoreDataPrimary' TO N'C:\Program Files\Microsoft SQL Server\MSSQL13.DEVELOPMENT\MSSQL\DATA\APCoreDataPrimary.mdf',
MOVE N'APCoreData1' TO N'C:\Program Files\Microsoft SQL Server\MSSQL13.DEVELOPMENT\MSSQL\DATA\APCoreData1.ndf',
MOVE N'APCoreData_nonclusteredIndexes' TO N'C:\Program Files\Microsoft SQL Server\MSSQL13.DEVELOPMENT\MSSQL\DATA\APCoreData_nonclusteredIndexes.ndf',
MOVE N'APCoreLog_log' TO N'C:\Program Files\Microsoft SQL Server\MSSQL13.DEVELOPMENT\MSSQL\DATA\APCoreLog_log.ldf',
recovery, NOUNLOAD, REPLACE, STATS = 1
Run Code Online (Sandbox Code Playgroud)
在开发人员的机器上恢复数据库时,出现上述错误。
我这样做的方式是:
restore filelestonly这是确定会是什么呢?
非聚集索引使用聚集索引的键定位行与该表没有聚集索引且非聚集索引通过 RID 定位行之间是否存在性能差异?
不同级别的碎片是否也会影响这种性能比较?(例如,在这两种情况下,表的碎片率为 0%、50%、100%。)
performance sql-server clustered-index nonclustered-index bookmark-lookup performance-tuning
我需要从我域中的所有实例中删除用户。
为了做到这一点,我想创建一个 CMS 组并对其执行查询。问题是我要添加 150 多台服务器。如何将服务器批量添加到组中而不是手动添加?
sql-server ×10
backup ×1
connections ×1
index ×1
instance ×1
linux ×1
performance ×1
permissions ×1
restore ×1
ssms ×1
t-sql ×1