小编Col*_*art的帖子

重启一个数据库而不是整个服务器

无论如何要重新启动 SQL Server 中的一个数据库而不是重新启动整个服务器?我的一个数据库有永久回滚的任务。我想在不关闭/打开其他数据库的情况下重新启动它

sql-server-2008 sql-server

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

角色在 oracle 中有所有者吗?

假设我已经使用用户X登录到oracle数据库,然后用户X使用create role命令创建了一些角色。我想知道用户 X 是角色的所有者吗?我可以选择用户 X 创建的所有角色吗?

oracle permissions role

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

为什么我创建的基于函数的索引会降低成本,但不会出现在解释计划细分中?

对于糟糕的列/表名称感到抱歉,但由于这是一个工作项目,我想确保可以询问。我只是希望至少了解为什么我没有看到我的功能索引被使用,所以我觉得在生产环境中添加这些索引更好。

该查询使用我创建的视图,该视图具有许多不同的列,其中包含执行以下操作的 where 子句:

  ....
  AND e.sysid = NVL(wi.ALPHAid, -999)
  AND NVL(wi.ALPHAid,   -999)       <> -999
  AND NVL(wi.BRAVOid,   -999)        = -999
  AND NVL(wi.CHARLIEid, -999)        = -999
  ...
Run Code Online (Sandbox Code Playgroud)

我的理解是,如果您通过函数传递列,则 Oracle 不能使用索引,而您需要创建基于函数的索引。因此,在创建索引之前,我在解释计划中获得了以下成本:

计划哈希值:1233409744

-------------------------------------------------------------------------------------------------------------------
| Id  | Operation                        | Name                           | Rows  | Bytes | Cost (%CPU)| Time     |
-------------------------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT                 |                                |     1 |   223 |    56   (6)| 00:00:01 |
|   1 |  SORT ORDER BY                   |                                |     1 |   223 |    56   (6)| 00:00:01 |
|   2 …
Run Code Online (Sandbox Code Playgroud)

index oracle explain

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

从 SQL Server 获取时区键名的最佳方法

以下是我拼凑的内容,但我想看看还有哪些其他方法可用。

SET NOCOUNT ON;
GO
DECLARE @tz VARCHAR(50)
EXEC [master].[dbo].[xp_regread]
    'HKEY_LOCAL_MACHINE'
    ,'SYSTEM\CurrentControlSet\Control\TimeZoneInformation'
    ,'TimeZoneKeyName'
    ,@tz OUT;

SELECT 
    GETDATE()
    ,'(' + LEFT(PARSENAME(REPLACE(@tz, ' ','.'),3),1) 
    + '' + LEFT(PARSENAME(REPLACE(@tz, ' ','.'),2),1) 
    + '' + LEFT(PARSENAME(REPLACE(@tz, ' ','.'),1),1) +')'
Run Code Online (Sandbox Code Playgroud)

输出:2014-10-14 16:22:21.037 (CST)

sql-server timezone

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

限制 MongoDB 中的 RAM 内存使用

我正在使用 MongoDB-2.6.1。有没有办法限制RAM内存使用?

例如:在 4 GB RAM 中,让 MongoDB 使用到 3 GB (<= 3 GB)。

mongodb memory

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

PostgreSQL 无法分叉 autovacuum 工作进程:无法分配内存

每隔几天就会遇到一些问题,postgres 崩溃并进入恢复模式。postgres 的日志看起来像这样

... Lots of this for 5-10minutes

2015-09-24 10:07:27 GMT LOG:  could not fork autovacuum worker process: Cannot allocate memory
2015-09-24 10:07:28 GMT LOG:  could not fork autovacuum worker process: Cannot allocate memory
2015-09-24 10:07:29 GMT LOG:  could not fork autovacuum worker process: Cannot allocate memory
2015-09-24 10:07:30 GMT LOG:  could not fork autovacuum worker process: Cannot allocate memory
2015-09-24 10:07:32 GMT LOG:  server process (PID 16244) was terminated by signal 9: Killed
2015-09-24 10:07:32 GMT DETAIL:  Failed …
Run Code Online (Sandbox Code Playgroud)

postgresql memory

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

无法删除 UNDO TABLESPACE

我们在两台不同的服务器上有 Oracle 11gR1 RAC 两个实例,新的 undo 表空间UNDOTBS20140508创建了 30G,我想删除旧的UNDOTBSX02,我做了以下操作:

CREATE UNDO TABLESPACE UNDOTBS20140508  DATAFILE '+DATA/....../UNDOTBS20140508' SIZE 20G;
ALTER SYSTEM SET UNDO_TABLESPACE = UNDOTBS20140508;
DROP TABLESPACE UNDOTBSX02 INCLUDING CONTENTS AND DATAFILES;
Run Code Online (Sandbox Code Playgroud)

尝试删除UNDOTBSX02 时,它显示以下错误:

Error starting at line : 13 in command -
DROP TABLESPACE UNDOTBSX02 INCLUDING CONTENTS AND DATAFILES
Error report -
SQL Error: ORA-00604: error occurred at recursive SQL level 1
ORA-06502: PL/SQL: numeric or value error
ORA-06512: at line 57
ORA-30013: undo tablespace 'UNDOTBSX02' …
Run Code Online (Sandbox Code Playgroud)

oracle oracle-11g rac

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

如何在 SQL Server Management Studio 中将数据库从服务器复制到本地计算机?

我对 SQL Server Management Studio 非常陌生。我使用 Windows 身份验证连接到 SQL Server。但不确定我的工作是否会影响服务器数据库。我怎样才能确保不会弄乱更新和提交数据?

sql-server ssms

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

行大小太大 (&gt; 8126)

我面临以下问题。

Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In
Run Code Online (Sandbox Code Playgroud)

当前行格式,768 字节的 BLOB 前缀内联存储。

它出现在我将图像上传到数据库时(它具有 <1Mb)。准确地说,只有 100kb。

我尝试了很多事情:更改属性“max_allowed_pa​​cket”、“innodb_log_file_size”(即,将大小增加到 512M)并没有什么......

我不知道麻烦的原因。

为了说明,表

TABLE(
    `passeio` int(4) unsigned NOT NULL COMMENT 'identitificador do passeio',
      `data_inclusao` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
      `nome_passeio` varchar(200) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
      `inicio` date NOT NULL,
      `fim` date NOT NULL,
      `por_que_ir` text CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
      `pdf_roteiro` mediumblob NOT NULL,
      `incluso` …
Run Code Online (Sandbox Code Playgroud)

mysql innodb blob

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

SQL Server:链接服务器中的频繁登录超时过期

我正在使用 SQL Server 2012。我安排了一个作业每 1 小时运行一次,其中 1 个步骤调用 1 个简单的存储过程。存储过程将大约 1K 数据从生产服务器迁移到我们的本地服务器。已成功建立链接服务器。存储过程中使用的查询如下所示。

SELECT ID,Col1,Col2,Col3,Col4,Col5 into #temp from [111.111.111.111].ProdServer.dbo.SourceTable

Insert into Localtable(ID,Col1,Col2,Col3,Col4,Col5)
SELECT ID,Col1,Col2,Col3,Col4,Col5
FROM #temp where ID NOT IN (select ID from Localtable)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

作业执行有时需要 25-30 秒才能成功执行。有时需要 48-50 秒导致失败。请参阅下面的失败消息和上面屏幕截图中的其他详细信息。

失败信息:

以用户身份执行:NT AUTHORITY\NETWORK SERVICE。命名管道提供程序:无法打开与 SQL Server [53] 的连接。[SQLSTATE 42000](错误 53)链接服务器“111.111.111.111”的 OLE DB 访问接口“SQLNCLI10”返回消息“登录超时已过期”。[SQLSTATE 01000](错误 7412)链接服务器“111.111.111.111”的 OLE DB 访问接口“SQLNCLI10”返回消息“与 SQL Server 建立连接时发生与网络相关或特定于实例的错误。服务器未找到或未找到可访问。检查实例名称是否正确,以及 SQL Server 是否配置为允许远程连接。有关详细信息,请参阅 SQL Server 联机丛书。”。[SQLSTATE 01000](错误 7412)。步骤失败。

更多细节

  • 该表被任何人锁定,并且没有在其上运行任何查询。
  • 在链接服务器属性中,查询超时和连接超时都设置为 0。
  • 在服务器属性远程查询超时也设置为 600 秒。

作为最后一个选项,我尝试将连接超时设置从默认值 15 更改为 6000 …

sql-server linked-server jobs

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