标签: sql-server-2008

在 SSMS 中创建数据库时出错

我正在使用 SQL Server Management Studio 2008。我连接到localhost并且我想创建一个数据库。当我单击New Database,输入名称并单击确定时,我收到消息:

索引超出数组范围 (Microsoft.SQLServer.Smo)。

sql-server-2008 sql-server ssms

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

有没有办法截断具有外键的表?

有没有办法截断具有外键的表?删除和重新设定种子可能需要很长时间。删除和重新创建密钥是唯一的方法吗?如果是这样,是否有工具可以做到这一点?

sql-server-2008 foreign-key sql-server truncate ddl

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

获取 sql 语句来引用 2 个以上的表?

我有以下表格:

员工姓名

============================================================================
|  Name    |   Income_Group   |    Educational_Level  |   Country          |
============================================================================
|  Jack    |   5              |    5                  |   1                |
|  Jill    |   3              |    3                  |   4                |
|  Jane    |   1              |    4                  |   6                |
|  June    |   4              |    2                  |   7                |
============================================================================
Run Code Online (Sandbox Code Playgroud)

国家

==================================================
| ID   |  Country   |  Country_Description       |
==================================================
| 1    | America    |                            |
| 7    | Japan      |                            |
==================================================
Run Code Online (Sandbox Code Playgroud)

收入组

=======================================================
| ID   |  Income_Range        | …
Run Code Online (Sandbox Code Playgroud)

sql-server-2008

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

消息 21,级别 21,状态 1,第 1 行警告:致命错误 9001

我们最近迁移到了 VPS 上的 SQL Server,在尝试更新时,我们时不时会收到 9001 错误。

重新启动服务器可以解决问题。

我将最大服务器内存(以 MB 为单位)更改为 2000,因为它是 4GB VPS。

但我只是不知道是什么导致了错误。

sql-server-2008 sql-server

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

数据库空间不足

我的数据库还有 16MB 的空间。

我曾经只是按照我的教导进行截断,但我发现这些链接建议不要截断:

http://www.sqlskills.com/blogs/paul/why-you-should-not-shrink-your-data-files/

http://blog.sqlauthority.com/2011/01/19/sql-server-shrinking-database-is-bad-increases-fragmentation-reduces-performance/

除了删除表记录之外,我还能在我的数据库上做些什么来减小大小吗?我是 DBA 论坛的新手,我可能应该在发帖之前四处寻找其他问题,但我很绝望,因为我担心我的数据库会崩溃。

sql-server-2008 sql-server disk-space

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

是否存在跨多个数据库使用通用数据和过程的标准方法?

我们有几个独立的数据库,它们的数据和代码是相同的,不是在数据库之间访问,而是在每个数据库中数据意味着相同的事情,代码做同样的事情。

例子是:

  • 配置设置(例如错误代码 50xxx、公司名称的样板文本等)。
  • 执行常见任务的过程和函数(例如,将 CSV 字符串转换为表格、记录错误、根据错误代码格式化错误消息)。
  • 表结构(例如数据库版本历史表、记录错误表)。除了列、约束和触发器之外,还有读/写数据的通用过程和函数。
  • 查找表(例如,包含 2000-2100 年之间日期的日期查找表)。这些类似于表结构,但通常数据库中的数据是相同的。对于日期表,开始和结束日期是配置设置,由函数读取,然后由程序生成日期数据。所有这些操作在数据库之间都是通用的。
  • 用户定义的类型(例如用于将表传递给函数的类型)。

出于维护和支持的原因,我认为对于错误代码、过程、函数和类型之类的东西来说,在所有数据库中拥有一个“单一事实点”是有意义的,而不是每个数据库中都有一个不同的事实。

目前,每个数据库都有自己的所有副本,包括源存储库,我们独立维护它们。这很不理想,因为在 A 中修复一个过程而忘记将它放在 B 中太容易了,或者在 A 中添加错误代码而在 B 中添加相同的错误代码但它们意味着不同的东西,等等。

数据库不会同时更新,它们不一定驻留在相同的硬件上。在某些情况下,它们可以相互读取数据(如果存在另一个)。

是否有一种标准方法可以为跨多个数据库使用的数据/代码提供单一事实点?

sql-server-2008 sql-server

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

如何使用有限的数据库空间对非常大的表进行分区?

我有一张很大的桌子。我想分区它,但我不能。

数据库大小:1TB,可用空间200GB

桌子:

  • 大小:165 列(行长 4216 KB,无 LOB),5 亿行,600GB 数据。
  • 可能的分区:每个分区一天
  • 每天/分区的行数:200 万

为了对其进行分区,我需要创建一个聚集索引。但是创建分区需要与表相同大小的可用空间,而我没有额外的600GB。

有什么选项可以让我对这个表进行分区吗?

编辑 1:

我试过将数据复制到单独的表中。

但是,当我尝试DELETE(或INSERT)将 1 天的数据放入另一个表时,出现错误,该事务日志已满并且我的事务正在回滚。我的事务日志大约是 20 GB,我不能让它更大。

sql-server-2008 sql-server partitioning

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

在不影响性能的情况下备份数据库

我有一个大小高达 120 Gb 的数据库,我需要每天晚上进行备份。

问题是系统需要24小时不间断运行。

此时,备份最多需要 2 小时才能完成。

如何在不影响服务器性能的情况下进行备份?

谢谢,安德烈斯

sql-server-2008 sql-server

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

在 Microsoft SQL Server 2008 Service Pack 3 中导入 .bak 文件

我有我的数据库备份TestDatabase.bak文件,但我无法恢复它。

当我尝试恢复时,我在 SSMS 中收到以下错误消息:

RESTORE 无法启动数据库“FieldopsDevDynamic07042013”

SSMS 错误信息

错误日志显示:

无法启动数据库“FieldopsDevDynamic07042013”​​,因为某些数据库功能在当前版本的 SQL Server 中不可用。

错误日志消息

我怎样才能恢复这个数据库?

sql-server-2008 sql-server sql-server-2008-r2

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

从备份集中查看视图的 SQL

我有 4 天前的数据库的完整备份。它是一个标准的 SQL 2008 .bak 文件。我想知道的是是否可以在不恢复整个数据库的情况下查看我备份的数据库中的视图的 SQL?

sql-server-2008 backup

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