Посмотрите на этот пример:
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope,$http) {
var getJoke = function(){
return $http.get('http://api.icndb.com/jokes/random').then(function(res){
return res.data.value;
});
}
getJoke().then(function(res) {
console.log(res.joke);
});
});
Как вы можете видеть, getJoke
возвращает разрешенное обещание (оно разрешено при возврате res.data.value
). Таким образом, вы ждете, пока запрос $ http.get не будет завершен, а затем выполнится console.log (res.joke) (как обычный асинхронный поток).
Это plnkr:
В SQL Server 2012, 2014:
USE mydb
GO
ALTER ROLE db_datareader ADD MEMBER MYUSER
GO
ALTER ROLE db_datawriter ADD MEMBER MYUSER
GO
В SQL Server 2008:
use mydb
go
exec sp_addrolemember db_datareader, MYUSER
go
exec sp_addrolemember db_datawriter, MYUSER
go
Также можно назначить возможность выполнять все хранимые процедуры для базы данных:
GRANT EXECUTE TO MYUSER;
Чтобы назначить возможность выполнения определенных хранимых процедур:
GRANT EXECUTE ON dbo.sp_mystoredprocedure TO MYUSER;
Лучше создать новую роль, затем выполнить выполнение, выбрать ... etc разрешения для этой роли и, наконец, назначить пользователей этой роли.
Создать роль
CREATE ROLE [db_SomeExecutor]
GO
Предоставление прав на эту роль
GRANT EXECUTE TO db_SomeExecutor
GRANT INSERT TO db_SomeExecutor
для добавления базы данных пользователей> безопасность>> роли> databaseroles> Свойства> Добавить (внизу справа) вы можете искать пользователей AD и добавлять затем
ИЛИ
EXEC sp_addrolemember 'db_SomeExecutor', 'domainName\UserName'
Из SQLServer 2012 более элегантная alter role :
use mydb
go
ALTER ROLE db_datareader
ADD MEMBER MYUSER
go
ALTER ROLE db_datawriter
ADD MEMBER MYUSER
go