无论如何要重新启动 SQL Server 中的一个数据库而不是重新启动整个服务器?我的一个数据库有永久回滚的任务。我想在不关闭/打开其他数据库的情况下重新启动它
假设我已经使用用户X登录到oracle数据库,然后用户X使用create role命令创建了一些角色。我想知道用户 X 是角色的所有者吗?我可以选择用户 X 创建的所有角色吗?
对于糟糕的列/表名称感到抱歉,但由于这是一个工作项目,我想确保可以询问。我只是希望至少了解为什么我没有看到我的功能索引被使用,所以我觉得在生产环境中添加这些索引更好。
该查询使用我创建的视图,该视图具有许多不同的列,其中包含执行以下操作的 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) 以下是我拼凑的内容,但我想看看还有哪些其他方法可用。
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)
我正在使用 MongoDB-2.6.1。有没有办法限制RAM内存使用?
例如:在 4 GB RAM 中,让 MongoDB 使用到 3 GB (<= 3 GB)。
每隔几天就会遇到一些问题,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) 我们在两台不同的服务器上有 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 时,它显示以下错误:
Run Code Online (Sandbox Code Playgroud)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' …
我对 SQL Server Management Studio 非常陌生。我使用 Windows 身份验证连接到 SQL Server。但不确定我的工作是否会影响服务器数据库。我怎样才能确保不会弄乱更新和提交数据?
我面临以下问题。
Run Code Online (Sandbox Code Playgroud)Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In当前行格式,768 字节的 BLOB 前缀内联存储。
它出现在我将图像上传到数据库时(它具有 <1Mb)。准确地说,只有 100kb。
我尝试了很多事情:更改属性“max_allowed_packet”、“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) 我正在使用 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)。步骤失败。
作为最后一个选项,我尝试将连接超时设置从默认值 15 更改为 6000 …
sql-server ×4
oracle ×3
memory ×2
blob ×1
explain ×1
index ×1
innodb ×1
jobs ×1
mongodb ×1
mysql ×1
oracle-11g ×1
permissions ×1
postgresql ×1
rac ×1
role ×1
ssms ×1
timezone ×1