在sql server 2000上用sa登录sql查询分析器的时候报错:无法打开用户默认数据库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在sql server 2000上用sa登录sql查询分析器的时候报错:无法打开用户默认数据库相关的知识,希望对你有一定的参考价值。

在sql server 2000上用sa登录sql查询分析器的时候报错:无法连接到服务器*** 服务器:消息4064,级别 16,状态 1
【Microsoft】【odbc sql server driver】【sql server】无法打开用户默认数据库。登录失败

已成功与服务器建立连接,但是在登录过程中发生错取。(provider:共享内存提供程序,error:0-管道的另一端上无任何进程。)(Microsoft SQL Server,错误:4064)

今天做ASP.NET项目的时候,连接数据库(SQLserver2005 Express)出错!提示:已成功与服务器建立连接,但是在登录过程中发生错取。(provider:共享内存提供程序,error:0-管道的另一端上无任何进程。)(Microsoft SQL Server,错误:4064)

SQLserver2005常用解决方法:

问题一:无法打开用户默认数据库。登录失败。用户‘sa’登录失败。(Microsoft SQL Server, 错误:4064)

解决方法:解决方法:先用windows身份验证的方式登录进去,然后在 安全性=》登录=》右键单击 sa=》属性,将默认数据库设置成master,点击确定就可以了。

问题二:忘记了登录Microsoft SQL Server 2005 的sa的登录密码

解决方法:先用windows身份验证的方式登录进去,然后在安全性=》登录=》右键单击 sa =》属性,修改密码点击确定就可以了。

问题四、sql server 2005 错误 18452 无法连接到服务器 服务器:消息18452, 级别16,状态1
[Microsoft][ODBC SQL Server Driver][SQL Server]用户‘sa’登陆失败。原因:未与信任SQL Server连接相关联 该错误产生的原因是由于SQL Server使用了"仅 Windows"的身份验证方式,因此用户无法使用SQL Server的登录帐户(例如 sa )进行连接

解决方法:

1。在企业管理器中,展开"SQL Server组",鼠标右键点击SQL Server服务器的名称
2。选择"属性"
3。再选择"安全性"选项卡
4。在"身份验证"下,选择"SQL Server和 Windows"
5。确定,并重新启动SQL Server服务
问题五、用户 'sa' 登录失败。该用户与可信 SQL Server 连接无关联。
解决方法:检查你的数据库的认证模式,windows 和 混合模式,需要SA登陆的请选择混合模式。
检查计算机1433连接端口,1434数据端口是否打开

针对sql 2005 进入管理器中“安全”==》“用户”==》双击用户(弹出属性对话框)==》“状态”把状态改成enable,退出管理器重新登录(用户验证模式)
即:右键数据库属性对话框,选择“安全性”选项卡,服务器身份验证模式选择“SQL Server和Windows身份验证模式 。然后重新配置sa的登陆信息即可。

SQL SERVER 2005使用sa 登录失败-提示该用户与可信 SQL Server 连接无关联
错误提示:
sa 登录失败,提示该用户与可信 SQL Server 连接无关联
解决方法:
打开SQL Server Management Studio Express,
右键点击服务器,选择Properties(属性),在弹出窗口中点击Security(安全)切换到安全面板,
将server authentication服务器认证从windows authentication mode(windows用户认证模式)
修改为Sql Server and Windows Authentication mode(Sql server和windows认证模式),ok。
打开security(安全性) -- logins(登录名) ,右键选中sa,选择properties(属性),点击Status(状态)切换到状态面板,将Login(登录)设置为Enabled(启用)。
参考技术A 你的SA用户权限是否打开,
在企业管理器中,展开"SQL Server组",鼠标右键点击SQL Server服务器的名称
选择"属性"
再选择"安全性"选项卡
在"身份验证"下,选择"SQL Server和 Windows"
确定,并重新启动SQL Server服务
参考技术B 首先PING的通服务器吗?然后看看服务器上的sql server服务有没有打开,然后检查一下你的sa密码正确不正确。

UnhandledPromiseRejectionWarning:错误:在 ApolloServer 调用 `server.applyMiddleware()` 之前必须`await server.s

【中文标题】UnhandledPromiseRejectionWarning:错误:在 ApolloServer 调用 `server.applyMiddleware()` 之前必须`await server.start()`【英文标题】:UnhandledPromiseRejectionWarning: Error: You must `await server.start()` before calling `server.applyMiddleware()` at ApolloServer 【发布时间】:2021-10-09 07:32:15 【问题描述】:

我正在尝试启动我的 nestJs 服务器,但它一直给我这个错误:

UnhandledPromiseRejectionWarning:错误:您必须先await server.start(),然后再调用server.applyMiddleware() 在 ApolloServer

我什至不知道从哪里调试,因为我还是 NestJs 和 GraphQL 的新手。

【问题讨论】:

在不知道您当前如何运行这些东西的情况下,我们无法为您提供帮助。 【参考方案1】:

这是一个已知错误,有一个未解决的问题and a merged PR to fix it。目前,您可以降级到apollo-server-express@^2

【讨论】:

非常感谢。现在工作正常 看起来有计划发布@nestjs/graphql@9 来解决这个问题。根据问题,这个重大突破将在@nestjs/core@nestjs/common 重大突破到9 之前很久。但至于何时,我不能说 谢谢@JayMcDoniel 这对我也有用:)【参考方案2】:

完整的工作代码是:

const express = require("express");
const  ApolloServer  = require("apollo-server-express");
const http = require("http");

const app = express();

const typeDefs = `
    type Query
        totalPosts: Int!
    
`;
const resolvers = 
    Query: 
        totalPosts: () => 100,
    ,
;
let apolloServer = null;
async function startServer() 
    apolloServer = new ApolloServer(
        typeDefs,
        resolvers,
    );
    await apolloServer.start();
    apolloServer.applyMiddleware( app );

startServer();
const httpserver = http.createServer(app);

app.get("/rest", function (req, res) 
    res.json( data: "api working" );
);

app.listen(4000, function () 
    console.log(`server running on port 4000`);
    console.log(`gql path is $apolloServer.graphqlPath`);
);

【讨论】:

这无需更改 libray 版本即可工作,但不需要以下行: const httpserver = http.createServer(app);【参考方案3】:

我在升级Ben Awad's Graphql-Next-Typeorm[...] stack 时遇到了这个问题,只需在服务器启动中添加等待即可修复警告

const apolloServer = new ApolloServer(
    introspection: true,
    schema: await buildSchema(
      resolvers: [__dirname + '/resolvers/**/*.js'],
      validate: false
    ),
    context: ( req, res ) => (
      req,
      res,
      redis: redisClient
    ),
    formatError
  );


// added this line
  await apolloServer.start();

  apolloServer.applyMiddleware(
    app,
    cors: false
  );

【讨论】:

同样来自 Ben Awad 的课程。 cors: false 确实有帮助,但为什么要关闭 introspection 呢? @BurgerBurglar 我相信你的问题是题外话,内省设置为真,这里有更多关于内省的信息apollographql.com/docs/apollo-server/api/apollo-server/… 我在迁移文档中找不到此信息 @EricBurel 我不确定我理解你的意思或暗示,你能详细说明一下吗? 简单地说,Apollo v3 迁移文档并没有很明确地说明需要等待“开始”,或者至少我找不到相关部分,但你的回答很完美【参考方案4】:

对于 Apollo Server Express 3.0 及更高版本,您需要定义一个接收 typeDefs 和 resolvers 参数的异步函数,然后将服务器分配给与之前相同的 Apollo 初始化,如 here 所示

async function startApolloServer(typeDefs, resolvers)
    const server = new ApolloServer(typeDefs, resolvers)
    const app = express();
    await server.start();
    server.applyMiddleware(app, path: '/graphql');
    
    app.listen(PORT, () => 
    console.log(`Server is listening on port $PORT$server.graphqlPath`);
)


startApolloServer(typeDefs, resolvers);

【讨论】:

【参考方案5】:

您可以将所有内容放在异步函数中并在您的服务器(应用程序,索引...).js 中执行该函数。你也可以查看 npm 包。 https://www.npmjs.com/package/apollo-server-express 例如:

const express = require('express')
    , http = require('http')
    , path = require('path');
const  ApolloServer  = require('apollo-server-express');

async function startExpressApolloServer() 

    const  typeDefs  = require('./graphql/schemas/schema');
    const  resolvers  = require('./graphql/resolvers/resolver');

    const server = new ApolloServer( typeDefs, resolvers );
    await server.start();

    const app = express();
    
    server.applyMiddleware( app, path: '/api/graphql' );

    await new Promise(resolve => app.listen( port: 3001 , resolve));
    console.log(`Server ready at http://localhost:3001$server.graphqlPath`);
    return  server, app ;


startExpressApolloServer();

【讨论】:

+1 基本上来自文档的建议:apollographql.com/docs/apollo-server/api/apollo-server/…【参考方案6】:

另一种选择是将您的 apollo 降级到任何 2.x.x。它解决了我的问题

【讨论】:

【参考方案7】:

提前启动apollo服务器是不行的。当我必须明确使用 http/https 时会发生什么情况。请看以下案例:

  const server = new ApolloServer(
    typeDefs: [KeycloakTypeDefs, typeDefs], // 1. Add the Keycloak Type Defs
    schemaDirectives: KeycloakSchemaDirectives, // 2. Add the
    formatError: new ApolloErrorConverter(),
    resolvers: resolvers,
    context: ( req ) => 
      return makeContextWithDependencies(req);
    
  );
  server.applyMiddleware( app );

  http.createServer(app).listen(config.server.port, os.hostname());
  const options = 
    key: fs.readFileSync(config.server.ssl.keyFile, "utf8"),
    cert: fs.readFileSync(config.server.ssl.certFile, "utf8"),
    passphrase: config.server.ssl.passphrase
  ;
  https
    .createServer(options, app)
    .listen(config.server.securePort, os.hostname());
  console.log(
    "Server waiting for requests on ports: " +
      config.server.port +
      "," +
      config.server.securePort
  );

【讨论】:

如果您有新问题,请点击 按钮提出问题。如果有助于提供上下文,请包含指向此问题的链接。 - From Review【参考方案8】:

这里已经有一些很好的答案。但是我们应该知道为什么以及在哪里调用 server.start()。来自阿波罗文档 -

在调用之前总是调用 await server.start() server.applyMiddleware 并启动您的 HTTP 服务器。这允许 你通过崩溃你的来对 Apollo Server 启动失败做出反应 进程而不是开始提供流量。

【讨论】:

【参考方案9】:

在 v3 中,如果您使用 apollo-server-express,则需要启动功能https://www.apollographql.com/docs/apollo-server/api/apollo-server/#start。

你可以这样做。

const app = express()
app.use(express.urlencoded( extended: true ))
app.use(express.json())
....
export const startup = async () => 
  await server.start()
  server.applyMiddleware( app, path: `/api/$configs.region/graphql` )
  return app


// call startup in another file to get app

【讨论】:

github.com/nestjs/nest/issues/7543#issuecomment-878811893

以上是关于在sql server 2000上用sa登录sql查询分析器的时候报错:无法打开用户默认数据库的主要内容,如果未能解决你的问题,请参考以下文章

安装SQL SERVER开启SA用户登录的方法

SQL server 2000数据库的用户sa的密码忘了怎么办

连接sqlserver2000数据库问题

SQL server2000 windows身份验证失败怎么办

SQL 2005忘记sa账号密码怎么办?

SQL SERVER 2012 新增数据库显示登录失败