小编a_h*_*ame的帖子

Express 版核心限制了歧义

我们有一个应用程序,它使用 MSSync 将数据从服务器下载到客户端的 SQL Server Express 2005。客户端具有双核和超线程,因此总共有 4 个核。

我对 SQL Server Express 的局限性进行了大量研究,我认为它归结为 1 个物理套接字,但在该套接字中最多使用 4 个内核。但是,这提出了一些与我在实践中所感知到的形成对比的问题。

我们的同步过程将 1 个内核最大化,淹没了同步过程,导致性能比具有更高 GHz 且未最大化 SQL Server Express 2005 使用的单个内核的设备慢 10-20 倍。

但是:如果允许 SQL Server 在 1 个套接字中使用 4 个内核,为什么它只使用 1 个用于我们的同步过程?这是因为 1 个连接有一个专用核心吗?还是我没有正确理解限制规格?将 SQL Server Express 升级到现代版本是否有助于让它使用更多内核?


我做了更多的研究。我使用了 SQL Server Express 2012 甚至 SQL Server Developer 2012 并且 ALL 最多只有 1 个核心。因此,显然,这与 Express 限制无关。

这可能是一个技术限制,您在单个连接/事务中的查询仅停留在单个核心上。很可能,这是保证事务一致性的逻辑要求。

我在 SQL Server 2012 中看到的是,负载会时不时地交换到另一个核心,但它永远不会同时使用超过 1 个核心。甚至没有开发版。

如果有人能证实这些假设,那将是受欢迎的。

sql-server-2005 sql-server sql-server-2012 sql-server-express limits

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

PostgreSQL 数据库不存在错误

我收到“数据库不存在错误”,即使数据库存在:

postgres=# GRANT ALL PRIVILEGES ON DATABASE Owino to OdooD;
Run Code Online (Sandbox Code Playgroud)

错误:数据库“owino”不存在

Name    |  Owner   | Encoding |   Collate   |    Ctype    |    Access privileges

Owino   | dominus  | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
postgres| postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =Tc/postgres           +
        |          |          |             |             | postgres=CTc/postgres  +
        |          |          |             |             | orokon=CTc/postgres    +
        |          |          |             |             | powerbidev=CTc/postgres+
        |          |          |             |             | odoodev=CTc/postgres
Run Code Online (Sandbox Code Playgroud)

postgresql

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

如何简化多列 SQL Server where 子句中的重复变量

我知道必须有更好的方法来针对多列评估一组重复变量。我已经搜索了一段时间,但仍然没有很好的解决方案。有一个更好的方法吗?

SELECT *
FROM TABLE
WHERE 
  (SUBSTRING(COLUMN1,1,3) IN ('val1','val2','val3','val4'...REPEATS to 30)  
OR SUBSTRING(COLUMN2,1,3) IN ('val1','val2','val3','val4'...REPEATS to 30)  
OR SUBSTRING(COLUMN3,1,3) IN ('val1','val2','val3','val4'...REPEATS to 30)  
OR SUBSTRING(COLUMN4,1,3) IN ('val1','val2','val3','val4'...REPEATS to 30)  
OR SUBSTRING(COLUMN5,1,3) IN ('val1','val2','val3','val4'...REPEATS to 30))   
...REPEATS 5 MORE TIMES
Run Code Online (Sandbox Code Playgroud)

sql-server substring

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

恢复加密数据库的副本

我已经使用文件服务器遵循的方法对备份进行了加密。不幸的是,我没有保留加密过程的证书副本,不幸的是服务器也被完全破坏,无法再次运行,我必须恢复数据库的副本。我有一份规则的副本,但它是加密的。这个问题有解决方案吗?

sql-server restore sql-server-2014

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

连接的线程和运行的线程有什么区别

我试图了解 mysql 工作台中的仪表板,我在左下角看到了这张图表。

threads connected: 149 threads running: 13 这是在负载下,并且随着我在服务器上放置更多负载而运行的线程增加,但它从未变高。这是正常的吗?如果连接的线程有助于在负载期间进行并行处理,它是否应该更高?

mysql performance mysql-workbench

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

从 Internet 访问 SQL Server AlwaysOn HA 侦听器

我已经成功地在两台服务器之间创建了一个 SQL Server AlwaysOn 高可用性组,并且一切似乎在内部都运行良好。每个副本都位于不同的物理位置,位于不同的防火墙和公共 IP 以及私有 IP/子网之后。现在,他们能够通过站点到站点 VPN 直接相互通信。

我用来访问数据库的应用程序能够连接到侦听器的 DNS。故障转移集群节点和 SQL 副本都有私有 IP,所以只要我在我的网络中运行应用程序,我就可以了。

我现在遇到的问题是我需要应用程序能够在世界任何地方使用。基本上,我需要能够从 Internet 连接到侦听器而无需 VPN,并且仍然能够利用 HA//Failover 功能。

如何做到这一点?似乎在线发布的唯一文档与 Azure 相关,但不适用于我的设置。

谢谢!

sql-server listener failover availability-groups

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

数据库镜像 - 混合 SQL Server 2012 到 SQL Server 2016

我很确定答案是什么,但我想确认一下。有没有办法创建 SQL Server 2012 到 SQL Server 2016 的混合数据库镜像。

sql-server mirroring

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

Oracle 对应于 `pg_cancel_backend`

将 Oracle 语句ALTER SYSTEM KILL SESSION ...视为...在某种程度上可与 PostgreSQL 语句相媲美SELECT pg_terminate_backend()

您知道ALTER SYSTEM KILL SESSIONPostgreSQL的任何 Oracle 类比(比 更好)SELECT pg_cancel_backend()吗?


参考:9.26。系统管理功能(PostgreSQL 文档)

pg_terminate_backend

终止一个后端。您可以针对与调用该函数的用户具有完全相同角色的另一个后端执行此操作。在所有其他情况下,您必须是超级用户。

pg_cancel_backend

取消后端的当前查询。您可以针对与调用该函数的用户具有完全相同角色的另一个后端执行此操作。在所有其他情况下,您必须是超级用户。

oracle

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

在Exception语句中执行sql文件

嗨,当我执行假脱机文件时,我试图在异常语句中执行 SQL 文件。

我有这样的事情:

column dt new_value _dt 
select to_char(sysdate,'yyyymmdd_hh24mi') dt from dual; 
set line 10000;
set pagesize 50000;
set serveroutput on;

spool .\backup\backup.sql

select dbms_metadata.get_ddl(object_type, object_name)
from user_objects
where object_type in ('FUNCTION')
and object_name = 'TEST_TABLE';

Spool Off

spool .\!Run_&_dt..txt

BEGIN
    raise_application_error( -20001, 'This is a custom error' );
EXCEPTION 
    WHEN OTHERS THEN
        Prompt ./backup/backup.sql
        @ ./backup/backup.sql
END;

Spool Off
Run Code Online (Sandbox Code Playgroud)

我得到下一个错误:

>> BEGIN
     raise_application_error( -20001, 'This is a custom error' );
EXCEPTION 
    WHEN OTHERS THEN
        Prompt ./backup/backup.sql
        @ ./backup/backup.sql …
Run Code Online (Sandbox Code Playgroud)

oracle oracle-11g-r2 plsql

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

Any 和 All sql 子句

select id 
from master_tabe 
where id = ALL (select id from user_table where name = 'Nikhil')

select id 
from master_tabe 
where id = ANY (select id from user_table where name = 'Nikhil')
Run Code Online (Sandbox Code Playgroud)

上面提到的查询返回相同的结果集。据我所知,应该有不同的结果集,因为 user_table 只有一条与姓名 Nikhil 相关的记录。因此,根据此 Any 子句必须返回 1 行,而 All 必须返回 0 条记录。而当我在 user_table 中添加一条记录时,All 子句语句返回 0 行,而 Any 子句仅返回 1 行。

有人可以调查一下吗?

sql-server

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