小编Kin*_*hah的帖子

SQL Server 表和视图显示不同的值

我有一个从显示不同数据的表中选择数据的视图。

表是dbo.user,视图是dbo.users(不要判断,我继承了这个系统)。观点很简单select * from table

如果我运行以下语句:

SELECT Field1, Field2 FROM dbo.[User] WITH (NOLOCK) ORDER BY Field1;

SELECT Field1, Field2 FROM dbo.Users WITH (NOLOCK) ORDER BY Field1;
Run Code Online (Sandbox Code Playgroud)

我为其中一个字段获得了不同的值。见附图:

在此处输入图片说明

任何想法这是如何发生的?该表是聚集的,具有 pk 和唯一索引。

sql-server t-sql view

2
推荐指数
1
解决办法
1682
查看次数

SQL Server 数据库迁移 - 在原始数据库仍在生产中时进行备份/恢复

我在完全恢复模式下有一个非常大的数据库。我的 SQL Server 是 2008 R2。问题是我需要迁移到新服务器,同时原始数据库仍在生产中。

备份和恢复都需要几个小时,所以...

  • 备份时添加到数据库中的记录会发生什么变化?如果我是对的,这不是问题,.bak文件将包含所有数据,直到备份结束。我是否标记了仅复制?

  • 备份完成后,我开始恢复......在新服务器中恢复时获取已添加到原始数据库的其余记录的最佳选择是什么?

我试过全+差分,但我收到一条消息

无法恢复差异备份,因为数据库尚未恢复到正确的早期状态

在我的测试环境中。

可以肯定这是最后一次完整备份,因为我只是在修改一条记录后一分钟后才进行备份。

另外,我用 norecovery 恢复完整,用 recovery 恢复差异。

我做错了什么?

备份将备份到磁盘,因为我需要尽快完成。

编辑:

我仍然收到消息“无法恢复差异备份,因为...”。有什么问题?

备份到磁盘时我必须做一些特别的事情吗?这些是 LSN:

+------------+--+-------------------+--+-------------------+--+-------------------+--+-------------------+-
| BackupType |  |     FirstLSN      |  |          LastLSN  |  | CheckpointLSN     |  | DatabaseBackupLSN | 
+------------+--+-------------------+--+-------------------+--+-------------------+--+-------------------+-
| FullBackup |  | 99000000025100209 |  | 99000000034000001 |  | 99000000033800001 |  | 98000002545900051 | 
| DiffBackup |  | 99000000033800001 |  | 99000000036800001 |  | 99000000035000041 |  | 98000002545900051 | 
+------------+--+-------------------+--+-------------------+--+-------------------+--+-------------------+-
Run Code Online (Sandbox Code Playgroud)

sql-server backup migration sql-server-2008-r2 restore

2
推荐指数
1
解决办法
552
查看次数

调度索引重建作业

我有一个 MS-SQL 2014 SP1 - 两个节点 AlwaysOn AG(一个主节点和一个只读辅助节点)有大约 10 个数据库,总大小为 20-30GB。我有一些关于调度索引重建和统计信息收集的问题。

我计划通过维护计划每周安排一次。通常在主节点上根本没有负载的周日晚上。

我应该在主要还是在副本中运行作业?如果我只在辅助上运行它,那么我会得到什么好处?或相反亦然?(意思是我应该在两个节点上运行)

如果我通过维护计划使用 SP1 和索引重建,是否可能发生损坏? 正如这里提到的

sql-server availability-groups sql-server-2014 index-maintenance

2
推荐指数
1
解决办法
2814
查看次数

使用 sp_Blitz 收集中央服务器/数据库中所有服务器的信息

我正在使用sp_Blitz,并希望使用它来执行对我所有 SQL Server 的检查并将结果写入单个表。

我是否需要在中央实例上创建链接服务器以连接到其他实例,或者是否有其他方法可以将服务器名称输入到sp_Blitz存储过程中?

sql-server scripting sp-blitz

2
推荐指数
1
解决办法
4205
查看次数

运行 sp_BlitzCache 指定输出数据库、架构和表时出错

sp_BlitzCache version 4.1 (20161210)在一个2008R2 instance (10.5.4042).

如果我在没有 的情况下执行 sp @OutputDatabaseName, @OutputSchemaName, and @OutputTableName,它工作正常。但是,当我设置这些值时,它会在整个过程中运行到最后,并出现错误:

“INSERT 语句的选择列表包含比插入列表更多的项目。SELECT 值的数量必须与 INSERT 列的数量相匹配。”

我正在运行的具体语句是:

EXEC [dbo].[sp_BlitzCache] @OutputDatabaseName = 'Maintenance_Stats'
,@OutputSchemaName = 'dbo'
,@OutputTableName = 'BlitzCacheResults'
Run Code Online (Sandbox Code Playgroud)

数据库、模式和表已经存在,但其中没有记录。所以......在 sp 代码的某个地方,它创建了表,但试图将太多的值填充到表中。

我正在使用它来尝试解决应用程序 (SCCM) 挂起问题,并按照建议创建了一个 SQL 代理作业,帮助台在遇到问题时可以执行该作业(它是间歇性的),但我尝试自己执行它,并且它因上述错误而失败。

sql-server sql-server-2008-r2 sp-blitzcache

2
推荐指数
1
解决办法
252
查看次数

事务日志每小时还原一次

是否可以每小时将 SQL 事务日志恢复到 MS SQL 数据库,而不必先恢复完整备份?

您可以将数据库设置为无恢复,应用事务日志,然后设置为恢复。每小时都这样做吗?那可能吗?

问题的原因是供应商每天早上发送完整的数据库备份,而不是发送大型备份,而是全天发送 T-Log。

sql-server restore transaction-log

2
推荐指数
1
解决办法
291
查看次数

DBATools 离线安装 - 未找到 export-dbainstance

我按照https://dbatools.io/offline/ 上的说明进行操作:

  1. 下载压缩包并解压

  2. 运行$env:PSModulePath以查找所有路径。

  3. 复制到C:\Program Files\WindowsPowerShell\Modules.

  4. Get-ChildItem -Recurse "C:\Program Files\WindowsPowerShell\Modules" | Unblock-File

当我尝试运行时Export-DbaInstance -SqlInstance,出现以下错误:

术语 Export-DBAInstance 无法识别”。

任何帮助将不胜感激。

sql-server powershell dbatools

2
推荐指数
1
解决办法
2013
查看次数

在创建查询时需要帮助

我有一个包含以下数据的表格。

columnA  columnB
ONE      value 1
ONE      value 2
ONE      value 3
TWO      value 1
TWO      value 2
THREE    value 1
Run Code Online (Sandbox Code Playgroud)

需要帮助创建下面给出的查询

COLUMN X   COLUMN Y
ONE         value 1, value 2, value 3
TWO         value 1, value 2
THREE       value 1
Run Code Online (Sandbox Code Playgroud)

sql-server t-sql

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

为什么 TRUNCATE TABLE 不能使用四部分名称?

我试图截断一个表如下:

TRUNCATE TABLE [servername].[dbname].[schema].[table]
Run Code Online (Sandbox Code Playgroud)

我有错误:

对象不存在或您没有权限。

但是,如果我删除该servername部分,它会起作用。

谁能解释为什么我不能在截断中使用四部分名称?谢谢。

sql-server truncate

0
推荐指数
1
解决办法
4028
查看次数

AlwaysOn 二级可读 - 无法与 applicationintent=readonly 连接

使用 SQL AlwaysOn,我将我的可读辅助设置为只读意图。当我尝试使用参数连接时,applicationintent=readonly我与主服务器建立了连接。

这是我的参数:

  • 侦听器:Lst_Test
  • 可用性组:AG-TEST
  • 主要:PROD-TEST
  • 次要:DRP-TEST

这是我创建路线的脚本:

    ALTER AVAILABILITY GROUP [AG-Test]
MODIFY REPLICA ON 
'PROD-TEST' WITH
(SECONDARY_ROLE (READ_ONLY_ROUTING_URL='TCP://PROD-test.contoso.com:1433'));

ALTER AVAILABILITY GROUP [AG-Ocean]
MODIFY REPLICA ON 
'DRP-TEST' WITH
(SECONDARY_ROLE (READ_ONLY_ROUTING_URL='TCP://DRP-test.contoso.com:1433'));


ALTER AVAILABILITY GROUP [AG-Test]
MODIFY REPLICA ON 
'PROD-TEST' WITH
(PRIMARY_ROLE(READ_ONLY_ROUTING_LIST =('DRP-TEST','PROD-TEST')))

ALTER AVAILABILITY GROUP [AG-Test]
MODIFY REPLICA ON 
'DRP-TEST' WITH
(PRIMARY_ROLE(READ_ONLY_ROUTING_LIST =('PROD-TEST','DRP-TEST')))
Run Code Online (Sandbox Code Playgroud)

sql-server availability-groups

0
推荐指数
1
解决办法
3931
查看次数

为什么连接到 '127.0.0.1' 可以工作而 'localhost' 失败?

我注意到,虽然在听力主机postgresql.conflocalhost通过连接到数据库psql,除非主机改变失败127.0.0.1。我也注意到MySQL有时会显示相同的特征。

有没有之间的一些区别127.0.0.1localhost这将导致数据库连接要区别对待?

postgresql permissions psql connectivity

-1
推荐指数
1
解决办法
3186
查看次数