当我们想在现有的 sharepoint 2010 服务器上使用新数据库创建新的 SiteCollection 时,我们遇到了问题。
我们使用以下命令:
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite site = new SPSite(SPContext.Current.Site.Url))
{
// Get the list of site collections for the web application
SPSiteCollection siteCollection = site.WebApplication.Sites;
//Add the site collection
siteCollection.Add(siteURL,
title,
description,
lcid,
template,
@ownerLogin,
ownerName,
ownerEMail,
secondaryLogin,
secondaryName,
secondaryEMail,
databaseServer,
databaseName,
@databaseUser,
databaseUserPassword);
}
});
lcid 是“1033”,数据库用户是我们的农场帐户,它也创建了 sharepoint 2010 服务器。执行添加方法时,我们收到以下错误消息:无法连接到位于 sqlservername 的 SQL Server 上的数据库主服务器。数据库可能不存在,或者当前用户没有连接到它的权限。
但用户拥有服务器的所有权限,也可以连接到它,甚至可以通过 Management Studio 从另一台服务器连接。
权利:dbcreator;上市; 安全管理员,系统管理员
在没有新数据库的情况下创建新的 SiteCollection 是有效的。
将数据库的创建分开,然后在新的站点中创建新的 SiteCollection 也会在应创建数据库时产生相同的错误。
编辑:添加代码
contentDatabase = siteCollection.WebApplication.ContentDatabases.Add(
serverName,
newDbName,
username,
password,
warningSiteCollectionNumber,
maximumSiteCollectionsNumber,
0);
contentDatabase.Update();
siteCollection.WebApplication.Update();
然后在数据库中添加 SiteCollection:
newSite = contentDatabase.Sites.Add(
newSiteColectionUrl,
siteCollectionTitle,
siteCollectionDescription,
1033,
"MyTemplate#0",
firstAdminLogin,
firstAdminName,
firstAdminEmail,
secondAdminLogin,
secondAdminName,
secondAdminEmail);
但它甚至没有到达 SiteCollection 创建。
我们在同一台机器上安装了 SharePoint 和 SQL Server 的两台开发人员服务器上测试了此命令。
因为这个错误在服务器端口配置不正确时也存在,所以很难搜索到我的具体问题。因此,非常感谢您的每一次帮助!
提前致谢。
塞巴斯蒂安·纽尔