标签: sql-server

在 SQL Server 中将存储过程从一个数据库移动到另一个数据库

我正在使用 SQL Server 2008,我想将存储过程从一个数据库复制到另一个数据库。如何?

scripting sql-server

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

无法恢复 SQL 2008 备份 - 数据库正在使用的错误,但它不是

我正在尝试恢复 SQL Server 2008 备份并收到以下错误:

RESTORE 无法处理数据库,因为该会话正在使用它。

附加信息:System.Data.SqlClient.SqlError:RESTORE 无法处理数据库“database_name”,因为该会话正在使用它。建议在执行此操作时使用master 数据库。(Microsoft.SqlServer.Smo)

知道出了什么问题吗?

windows-server-2008 sql sql-server

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

SQL 数据库上的事务日志填充设置为简单

我们在设置为简单事务模式的 SQL 2005 服务器上有一个数据库。日志记录设置为 1 MB,并设置为在需要时增加 10%。

我们不断遇到事务日志填满的问题,我们需要缩小它。当事务日志设置为“简单且不受限制的增长”时,什么会导致事务日志填满?

sql-server sql-server-2005

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

将 20 多个数据库移动到新数据库服务器的最佳方法是什么?SQL 2005

当前数据库服务器:SQL Server 2005 - Windows Server 2003 新目标数据库服务器:SQL Server 2005 - Windows Server 2003 Enterprise - VM Ware 映像

当前的数据库服务器上有 20 多个数据库,一些应用程序数据库......其他基础结构类型数据库(Citrix)。我们希望将所有这些数据库移动到一个新的虚拟化的新构建的盒子中。

所以进一步总结 - 是的,这是物理到虚拟的。- 20 多个数据库转移到这个新的虚拟 SQL 2005 盒子。- 此盒子上的应用程序需要最少的停机时间。

我能想到的几种方法(都将经过测试): 1. 第三方物理到虚拟转换器 - 然后关闭旧盒子。
- 关注 = SID 关联,Windows 或 SQL Server 不喜欢这个。

  1. 一次将所有数据库移动到新服务器 - 关闭旧服务器,将新虚拟机上的主机名更改为旧主机名。

  2. 一次全部移动,但为新框使用不同的主机名 - 这允许并行运行以防万一出现问题 - 挑战 = 必须在每个应用程序中更改主机名 - 可能会出现问题。

  3. 分阶段移动每个数据库 - 这也意味着一个新的主机名和一个更长的更复杂的项目。

其他人有类似的场景吗?

migration physical-to-virtual sql-server sql-server-2005

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

附加/分离与备份/恢复

我正在使用 SQL Server 2008 企业版。我需要将数据库(作为一个整体)转移到另一台服务器(制作一个重复的数据库来设置另一个测试环境)。

我有两个选择,(1)在源服务器上进行完整备份/在目标服务器上进行还原;(2) 在源服务器上分离/在目标服务器上连接。

根据我的要求比较这两种解决方案的优缺点?

提前致谢,乔治

sql-server sql-server-2008

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

不使用 SQL Profiler 创建 SQL 跟踪

我之前读过,可以创建一个 SQL 探查器跟踪,该跟踪直接记录到表中,而无需使用 SQL 探查器 - 显然这比让 SQL 探查器本身运行更好,因为 SQL 探查器捕获所有事件,然后过滤探查器本身中的条目以仅显示当前过滤器中指定的条目。直接跟踪仅收集跟踪本身中指定的事件,从而对服务器本身的影响较小。

我想设置一个跟踪来记录所有执行时间超过 1 秒的查询,但现在我似乎无法再次找到那篇文章。

sql-server sql-server-2005

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

双处理器系统上的 SQL Server 1 处理器许可证?

可能重复:
你能帮我解决我的软件许可问题吗?

我可以在不破坏许可证的情况下在 2 处理器系统上运行 SQL Server 的 1 处理器许可证吗?我不是在谈论核心,而是在谈论两个物理 CPU,总共 8 个核心。

据我了解,许可基本上是一个“荣誉系统”,我可以安装它并且它将在所有内核上运行,但是我可以合法地安装 1 个处理器许可证,然后只选择四个内核,Microsoft 可以吗?

或者我是否必须拥有两个处理器的许可证,因为服务器碰巧有两个物理处理器?

licensing sql-server

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

SQLServer - 需要访问 ACT!数据迁移数据库

我正在寻找一种在ACT 中访问数据的方法!用于将数据迁移到自定义应用程序的数据库。

法案!软件使用SQLServer 2005。

数据转换脚本和新应用程序将使用 Python 和 Postgresql 在 Linux 系统上编写。

我的问题是获取数据!

我不知道怎么ACT!配置了他们的 SQLServer 安装。


最初,我安装了 Microsoft SQL Server Management Studio Express 以查看是否可以查看和查询数据。

我目前有...

  • Windows XP 机器
  • 行为!2009 版本 11.0.0.367
  • Microsoft SQL Server Management Studio Express 版本 9.00.2047.00

有两个 SQLServer 实例正在运行。一个为ACT!软件和一个随 Studio Express 安装一起加载的软件。

在 Studio Express 中,我可以连接到后一个实例,但不能连接到 ACT 的 SQLServer!数据库。

使用 Windows 身份验证登录我得到Login failed for user ... Error 18456.

我不知道 SQL Server 身份验证登录是什么。


  • 有没有办法解决连接/登录问题?

  • 可以配置SQLServer的第二个实例看看ACT!数据库?

  • 复制数据库文件...?

sql-server sql-server-2005 ssms

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

如何将 SQL 2008 数据库通过互联网公开给全世界?

我的网络托管提供商允许我从他们的网页设置 SQL Server 2008 数据库,然后提供一个“tcp:domain.bla.net”形式的地址,我可以使用它从任何地方进行连接。我什至可以使用 SS Management Studio!

我的问题是,如何从我自己的服务器以这种方式公开我自己的数据库?(假设我已经有固定 IP)。

web-hosting sql-server

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

索引这个非常大的表的最佳方法

我有下表

CREATE TABLE DiaryEntries
(
 [userId] [uniqueidentifier] NOT NULL,
 [setOn] [datetime] NOT NULL, -- always set to GETDATE().
 [entry] [nvarchar](255) NULL
)
Run Code Online (Sandbox Code Playgroud)

每个用户每天将插入大约 3 个条目。将有大约 1'000'000 名用户。这意味着该表中每天有 3'000'000 条新记录。一旦记录超过 1 个月,我们就会将其删除。

大多数查询都有以下 WHERE 子句:

WHERE userId = @userId AND setOn > @setOn
Run Code Online (Sandbox Code Playgroud)

大多数查询返回不超过 3 行,除了一个返回本月内插入的所有行(最多 90 行)。

插入记录后,日期和用户 ID 不能更改。

现在我的问题是 - 如何最好地安排这张表的索引?我坚持两种选择:

  1. (userId, setOn) 上的聚集索引 - 这将使我快速搜索,但我担心过度的页面拆分,因为我们将插入很多中间值(相同的用户 ID 但不同的日期)。
  2. (userId) 和 (setOn) 上的非聚集索引 - 这也会导致 (userId) 索引上的页面拆分(但它是否与第一个选项一样昂贵?)。搜索速度变慢了,因为我们使用了 NC 索引。
  3. 附加列 (id) 上的聚集索引和 (userId, setOn) 上的非聚集索引 - 这将消除数据表的页面拆分,但仍会导致 NC 索引上的一些。此选项也不是搜索的最佳选择,因为我们使用 …

indexing sql-server sql-server-2008

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