标签: sql-server-2008

如何在两个相同的数据库之间同步数据

问题是我有两个相同的数据库,一个在我的笔记本电脑的本地主机服务器上,另一个在办公室的主服务器上。是否有任何自动方式或软件可以同步这两个相同数据库之间的数据?我正在使用 SQL Server 2008 R2。

replication sql-server-2008 mirroring

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

SQL Server 2008:如何更改 dbo 的默认架构?

当我尝试在 SQL Server Management Studio 中更改 dbo 的默认架构时,ALTER 失败并指出无法更改 dbo 帐户的架构。是否有任何技巧可以将“dbo”的 dbo 默认架构更改为“xxx”?

谢谢!

schema sql-server-2008 sql-server

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

设计此里程表的最佳方法是什么?

我将填充每加仑英里数 (MPG) 表。它来自里程表源。

目前设置如下:

  id               (primary_key)
, truck_num
, start_date
, end_date
, start_miles
, end_miles
, start_fuel
, end_fuel
, miles
, gals
, mpg
Run Code Online (Sandbox Code Playgroud)

似乎有一些冗余。的miles(end_miles - start_miles),对于同上gals

我们应该预先计算这些milesgals列并存储在数据库中吗?它肯定会使查询更容易,但会牺牲空间。mpg计算相同的问题。计算列会减慢速度,不是吗?

什么索引最有效?每周大约有 3,000 辆卡车(记录)成批插入。

我正在使用 SQL Server 2008 R2。

编辑:我将使用的示例查询

-- find average mpg for since ytd
select m.truck_num, avg(mpg)
from mpg m
join truck t on t.truck_num = m.truck_num
where start_date >= @begin_of_year and end_date <= @today
group …
Run Code Online (Sandbox Code Playgroud)

schema sql-server-2008 database-design

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

两台服务器可以访问相同的数据库文件吗?

我正在设计一个应用程序并考虑有关数据库系统的一些选项,因为我不熟悉 Microsoft SQL Server。我想知道是否可以让 2 个服务器共享相同的文件,如下所示。

图表

这个想法是数据在一个突袭系统中,所以它会给我们一些安全。这样我们就可以节省同步两个数据库的工作量并节省一些存储费用。我们一次只需要一个数据库,第二个只是为了在第一个失败的情况下使用。

这可能吗?

我对不同的方法持开放态度。主要问题是数据库冗余,我们的应用程序必须保证这一点。

目前我使用的是 Windows 7 和 SQL Server 2008R2。

replication sql-server-2008 sql-server

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

当 Windows 文件系统缓存下降时,SSAS 查询超时

我们在 Windows 2003 上有一个 SQL 2008 Analysis Services 实例,它在高峰活动期间几乎每天都遇到性能问题(查询超时)。从同一应用程序查询的第二个相同实例(使用循环 IP 进行负载平衡)没有相同的问题。我们甚至切换了两个实例,问题似乎“停留”在物理服务器上。我们知道这不是 SSAS 配置问题。立方体每天重建一次。

以下是我们能够确定的:当Memory\System Cache Resident Bytes perfmon 计数器意外下降时发生超时(我们称之为“缓存刷新”)。例如,今天早上它在大约 2 分钟内从大约 14GB 下降到 8.4GB。发生这种情况时,Memory:Page Reads/sec从 0 跳到 800-1200,事情开始横盘整理。

您可以看到对 MSOLAP 计数器的直接影响:存储引擎查询\数据读取/秒从 50,000 危险地下降到 5,000(这些显然不是物理读取,它们是从系统缓存中读取;这可以通过类似的下降得到证实)进程(msmdsrv)\IO 读取操作/秒)。存储引擎查询\平均时间/查询从 500-2000 攀升至 20,000-50,000,并且查询开始超时。线程\处理池忙线程从 ~50 跳到最大配置值 240,并且线程\处理池作业队列长度开始攀升。

在接下来的 30 分钟左右,查询会继续超时,直到(我认为)文件缓存被丢失的数据重新填充。Memory\Page Reads/sec回落到接近零,事情似乎恢复到“正常”。

在整个过程中,Process(msmdsrv):Working Set (~10.5GB) 、Process(Total):Working Set (~13.9GB) 或MSOLAP:Memory\Memory Usage KB (~50GB)没有显着变化。这是一台具有 128GB RAM 的 48 核服务器,仅运行 SSAS(另一台没有问题的服务器是 24 …

performance sql-server-2008 sql-server ssas

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

我的索引是否被使用?

我正在使用 SQL 服务器,创建我们数据库的人在我们最大的表上添加了很多索引。这些索引每个只包含一个字段。

对我来说,这些索引似乎几乎没有用,这是一个坏主意。

我担心的是删除部分或全部这些索引并影响我们实时系统的性能。无法在我们的测试系统上对此进行测试,因为我们的测试系统没有相同的负载或数据量。

就是想...

  • 有没有办法确定哪些索引从未使用过?
  • 例如,是否有某种分析可以显示在一段时间内哪些索引用于哪些查询?

sql-server-2008

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

SQL-Server: sp_spaceused gives zero rows but big dataSize for cleaned table

After cleaning my table with DELETE FROM MyTable (and executing DBCC shrinkdatabase('MyDB') should that matter) I run the statement EXEC sp_spaceused MyTable. The results confuse me:

tableName   numberOfRows   reservedSize   dataSize   indexSize   unusedSize
---------   ------------   ------------   --------   ---------   ----------
MyTable     0              21664 KB       20672 KB   736 KB      256 KB
Run Code Online (Sandbox Code Playgroud)

As you can see there are zero rows, yet there's almost 21 MB of data. My question is: what are possible causes for this situation and/or how can I further investigate …

sql-server-2008 sql-server disk-space

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

位域是如何为索引排序的?

我正在构建一个复合索引,但我不能 100% 确定以哪种方式包含作为bit表一部分的字段。该索引将用于类似于论坛主题列表的内容,我希望单个索引由ForumId(int), IsSticky(bit), then DatePosted (desc)(datetime2(0))

但我想确保IsSticky正确处理位域;我是否将其索引为trueis1-1?如果它是 1,我会索引 IsSticky 降序;如果-1,我会索引它升序。

另外,我要求使用 SQL 2008,但我很想知道它在 2005 年是否有所不同。

index sql-server-2008 sql-server

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

SQL Server 2008 T-SQL 选择挂起,但未死锁

这是一个非常奇怪的问题,所以请耐心等待。我有一个存储过程,可以进行一些繁重的处理。当它运行良好时,它通常需要几分钟的时间,具体取决于服务器负载,但有时它似乎卡住了。

我查看了 sp_who2 的结果,我看到该进程没有被阻塞,它仍然列为“RUNNABLE”,但磁盘 IO 中的值保持不变。一旦进程进入这种状态,它就永远不会完成。如果我终止进程并重新执行存储过程,我通常会得到相同的结果。

有时重新执行存储过程是可行的,但我最终不得不重新启动 SQL Server。不理想......重新启动后,存储过程按预期执行。有没有人遇到过这样的问题?任何建议将不胜感激。

更多的上下文。我正在执行的存储过程如下所示:

delete
from table1

insert into table1
select columns
from 
(
    select columns
    from giant_table_1 WITH (NOLOCK)
    where condition
    group by columns

    UNION

    select columns
    from giant_table_2 WITH (NOLOCK)
    where condition
    group by columns
)
where condition

more crud on table1
.
.
.
Run Code Online (Sandbox Code Playgroud)

如果我将一些日志语句插入到存储过程中,我可以看到它挂起时它挂在插入/选择上。想知道这是否可能是 NOLOCK 语句的奇怪结果。我们(我的意思是我的老板 :))添加了 nolock,因为 Giant_table_1 和 Giant_table_2 不断变化。如果没有 nolock,我们的 sproc 会被其他长时间运行的进程阻塞很多,反之亦然。

提前致谢!

sql-server-2008 stored-procedures locking

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

查询 SQL Server 2008 中的扩展事件

我使用从 Kimberly Tripp 的 SQL Server 2008 Internals 书中获得的脚本创建了以下事件会话。它已被修改为发送到文件而不是环形缓冲区。

CREATE EVENT SESSION
[statement_completed_file]
ON SERVER
ADD EVENT
    sqlserver.sp_statement_completed,
ADD EVENT
    sqlserver.sql_statement_completed
    (
        ACTION 
        (
            sqlserver.sql_text
        )
        WHERE
        (
            sqlserver.session_id=53
        )
    )
ADD TARGET package0.asynchronous_file_target
    (
        set filename=N'C:\MSSQL\TEMP\stats.xel', 
        metadatafile=N'C:\MSSQL\TEMP\stats.xem'
    )
WITH
(
    MAX_MEMORY=4096KB,
    EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS,
    MAX_DISPATCH_LATENCY=1 SECONDS,
    TRACK_CAUSALITY=OFF,
    STARTUP_STATE=OFF
)
Run Code Online (Sandbox Code Playgroud)

这是查询数据的原始脚本。

SELECT
theNodes.event_data.value('(data/value)[1]', 'bigint') AS source_database_id,
theNodes.event_data.value('(data/value)[2]', 'bigint') AS object_id,
theNodes.event_data.value('(data/value)[3]', 'bigint') AS object_type,
theNodes.event_data.value('(data/value)[4]', 'bigint') AS cpu,
theNodes.event_data.value('(data/value)[5]', 'bigint') AS duration,
theNodes.event_data.value('(data/value)[6]', 'bigint') AS reads,
theNodes.event_data.value('(data/value)[7]', 'bigint') AS writes,
theNodes.event_data.value('(action/value)[1]', 'nvarchar(max)') …
Run Code Online (Sandbox Code Playgroud)

sql-server-2008 extended-events

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