Friday, March 30, 2012
PF Usage
manager reports 7.4G PF Usage. Is this accurate?Hello,
It should be correct. But use the performance monitor to measure the correct
usage. Take a look int the below URL:-
http://msdn2.microsoft.com/en-us/library/ms176018.aspx
Thanks
Hari
"morphius" <morphius@.discussions.microsoft.com> wrote in message
news:55174532-F7F0-4EEC-8427-81C271DFF935@.microsoft.com...
>I have a SQL server 2005 box with 8 GB physical memory. The windows task
> manaer reports 7.4G PF Usage. Is this accurate?
Friday, March 23, 2012
Permissions to Deploy and view RS Homepage
and due to which I am having trouble with deployment
through VS.NET as well as trouble viewing the Reporting
Services main page.
When I type http://localhost/Reports, I just get the Home
page with Home, My Subscriptions and Help links on the
right top corner. All my reports have dissapeared. Any
tips?Go to properties of Reports and ReportServer virtual roots, open security
tab, select "Edit" under "authentication and access control", then make sure
anonymous in NOT checked. See if this helps.
--
Dmitry Vasilevsky, SQL Server Reporting Services Developer
This posting is provided "AS IS" with no warranties, and confers no rights.
--
---
"Amar Karande" <anonymous@.discussions.microsoft.com> wrote in message
news:24f3d01c4606e$869a6170$a601280a@.phx.gbl...
> I messed up some settings security settings in IIS manager
> and due to which I am having trouble with deployment
> through VS.NET as well as trouble viewing the Reporting
> Services main page.
> When I type http://localhost/Reports, I just get the Home
> page with Home, My Subscriptions and Help links on the
> right top corner. All my reports have dissapeared. Any
> tips?|||It helped. Thanks a bunch.
>--Original Message--
>Go to properties of Reports and ReportServer virtual
roots, open security
>tab, select "Edit" under "authentication and access
control", then make sure
>anonymous in NOT checked. See if this helps.
>--
>Dmitry Vasilevsky, SQL Server Reporting Services
Developer
>This posting is provided "AS IS" with no warranties, and
confers no rights.
>--
>---
>"Amar Karande" <anonymous@.discussions.microsoft.com>
wrote in message
>news:24f3d01c4606e$869a6170$a601280a@.phx.gbl...
>> I messed up some settings security settings in IIS
manager
>> and due to which I am having trouble with deployment
>> through VS.NET as well as trouble viewing the Reporting
>> Services main page.
>> When I type http://localhost/Reports, I just get the
Home
>> page with Home, My Subscriptions and Help links on the
>> right top corner. All my reports have dissapeared. Any
>> tips?
>
>.
>
Permissions to data source in Report Manager
in getting the right permissions to the data source. Instead of going
into detail about my specific problem (which I don't think I can even
give a good description of since I can't see what groups the accounts
I'm using are members of because I don't have access to their AD), can
someone give a list of the permissions required on an account in order
to access a data source? SQL permissions? Report Server permissions? If
I were to create an account purely for accessing the data source for
the reports, is there a complete checklist that I could follow to
ensure all the proper permissions?
Thanks.Oh, btw, I'm concerned about permissions to standard sql database
tables/views, and possibly OLAP cubes.
Thanks!|||Anybody?|||Bueller?
Bueller?
Bueller?|||All right, well I figured it out, at least for SQL Server access. I
guess all a domain account needs is public and db_datareader access to
the db you're getting data out of. Any ideas if it's pretty much the
same if trying to get data from an OLAP cube?|||What you are doing here is using the users account for accessing the
database. I think this is a mistake. First, it makes management of the users
more difficult. Now, every time there is a user that needs to run a report
you have to mess with DB access. Also, by doing this your RS will not be
able to take advantage of connection pooling (connection pooling only works
if everything is exactly the same, which includes the user). What I do is
have a special user that is used only for RS data access and is given
readonly rights to the data. I use RS roles to determine who gets to run
which reports.
The other thing I do is add domain groups and users to a local group on the
server and use that local group with RS roles.
Bruce Loehle-Conger
MVP SQL Server Reporting Services
"Wannabe_Kiwi" <amkessel@.gmail.com> wrote in message
news:1150908395.063069.70970@.c74g2000cwc.googlegroups.com...
> All right, well I figured it out, at least for SQL Server access. I
> guess all a domain account needs is public and db_datareader access to
> the db you're getting data out of. Any ideas if it's pretty much the
> same if trying to get data from an OLAP cube?
>|||I'm using a single, special domain account to access all the data
sources for all the reports, not using a bunch of individual user
accounts.
I'm still stuck on getting access to the SQL Analysis OLAP cubes, tho.
I can easily set permissions for SQL databases in Enterprise Manager,
but there doesn't seem to be an equivalent in Analysis Manager. Ideas?
Permissions Question
(With a user name that has System Administrator and System User roles) I am
presented with the Report Manager screen but am missing most of the
controls: I have the Home|My Subscriptions, ... in the upper right, but the
Contents and Properties tab are missing and there are no New FOlder, New
Data SOurce, etc. controls on the bar below where it says HOME.
Also, When I try to deploy reports from VS to this server (Same log-in) I
get : The permissions granted to user '...' are insufficient for performing
this operation.
Any Ideas?Go to IIS Management Console and make the ReportServer virtual directory a Secure website by Managing Permissions. This will allow updates via Visual Studio.
You may then find that you cannot that you cannot reports from a client machine. Go bak and make the ReportServer a public website. Strange but TRUE, at least in my environment
--
R. Festino
Florida
"news.microsoft.com" wrote:
> When I hit the Report Manager website on one of my installations and log-in
> (With a user name that has System Administrator and System User roles) I am
> presented with the Report Manager screen but am missing most of the
> controls: I have the Home|My Subscriptions, ... in the upper right, but the
> Contents and Properties tab are missing and there are no New FOlder, New
> Data SOurce, etc. controls on the bar below where it says HOME.
> Also, When I try to deploy reports from VS to this server (Same log-in) I
> get : The permissions granted to user '...' are insufficient for performing
> this operation.
> Any Ideas?
>
>sql
Wednesday, March 21, 2012
Permissions problem accessing external DLL through reports
I'm having this wee problem when trying to view my report via the report
manager screen - I get the following error "Request for the permission of
type System.Security.Permissions.SecurityPermission, mscorlib,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
failed"...This seems to be due to me trying to access a seperate DLL which in
turn accesses the database that I created for the reports for translation
purposes (I added the DLL to the References collection for each of the
reports). Any suggestions would be greatly appreciated.I am also tring to use an assembly to translate y i got the same message.
I already try to configure my rssvpolicy.config like:
<CodeGroup class="UnionCodeGroup"
version="1"
PermissionSetName="XMLFile_MultiLang_Permission"
Name="MultiLangCodeGroup"
Description="A special code group for my custom assembly.">
<IMembershipCondition class="UrlMembershipCondition"
version="1"
Url="C:\Program Files\Microsoft SQL Server\MSSQL\Reporting
Services\ReportServer\bin\MultLang.dll"/>
</CodeGroup>
but i habe the same error.
Have you found out how to solve it ?
"Rowan Massey" wrote:
> Hi,
> I'm having this wee problem when trying to view my report via the report
> manager screen - I get the following error "Request for the permission of
> type System.Security.Permissions.SecurityPermission, mscorlib,
> Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
> failed"...This seems to be due to me trying to access a seperate DLL which in
> turn accesses the database that I created for the reports for translation
> purposes (I added the DLL to the References collection for each of the
> reports). Any suggestions would be greatly appreciated.sql
Permissions Problem
In general SQL Server just uses the operating system to resolve the names.
So try this, go to some folder on your machine and right-click "Sharing and Security..." and select Share this folder and Add Users... to see if you can add users to a file share. If this does not work then most likely you machine is not trusted by the domain. Try removing the computer from the domain and adding it back to regain trust.
Note if your machine is NOT part of a domain, then you can only add local NT users, you can't add users from another machine.
Permissions not applied
I'm facing a weird problem trying to set permissions on a column in Sql
Server 2000. When using Enterprise Manager the permission on some columns
don't get applied, that is setting Select permissions on Column1, Column2 an
d
Column3 only saves the permission on Column1 and Column2 but not on Column3.
I tried setting the permissions with a GRANT script in the Query Analyzer,
but still without any luck.
Service Pack 4 has been applied to SQL Server 2000.
Has anyone had the same type of troubles setting permissions on columns?
TIA,
Mogens NielsenMogens Nielsen - WM-Data A/S
(MogensNielsenWMDataAS@.discussions.microsoft.com) writes:
> I'm facing a weird problem trying to set permissions on a column in Sql
> Server 2000. When using Enterprise Manager the permission on some
> columns don't get applied, that is setting Select permissions on
> Column1, Column2 and Column3 only saves the permission on Column1 and
> Column2 but not on Column3. I tried setting the permissions with a GRANT
> script in the Query Analyzer, but still without any luck.
Would it be possible for your to post the CREATE TABLE statement for
the table, and the GRANT statements you are using?
It would also be interesting to know how you conclude that the
permission is not applied.
Erland Sommarskog, SQL Server MVP, esquel@.sommarskog.se
Books Online for SQL Server 2005 at
http://www.microsoft.com/technet/pr...oads/books.mspx
Books Online for SQL Server 2000 at
http://www.microsoft.com/sql/prodin...ions/books.mspx|||Hi
I did some testing but not usimg EM and it seems to be worked fine
use demo
create table test (c1 int,c2 int,c3 int)
go
grant select on test to test --test no syadmin,db_owner
go
deny select on test (c3) to test
--connected as test
select * from test
--Server: Msg 229, Level 14, State 5, Line 1
--SELECT permission denied on object 'test', database 'demo', owner 'dbo'.
select c1,c2,c3 from test
--Server: Msg 229, Level 14, State 5, Line 1
--SELECT permission denied on object 'test', database 'demo', owner 'dbo'.
select c1,c2 from test
--works fine
"Mogens Nielsen - WM-Data A/S"
<MogensNielsenWMDataAS@.discussions.microsoft.com> wrote in message
news:FC8AFD90-255F-4942-BC78-BE674669A1FE@.microsoft.com...
> Hi everyone,
> I'm facing a weird problem trying to set permissions on a column in Sql
> Server 2000. When using Enterprise Manager the permission on some columns
> don't get applied, that is setting Select permissions on Column1, Column2
> and
> Column3 only saves the permission on Column1 and Column2 but not on
> Column3.
> I tried setting the permissions with a GRANT script in the Query Analyzer,
> but still without any luck.
> Service Pack 4 has been applied to SQL Server 2000.
> Has anyone had the same type of troubles setting permissions on columns?
> TIA,
> Mogens Nielsen|||Hi Uri and Erland,
thank you both for trying to solve my problems... :-)
The table consists of more than 350 columns, which may be the cause. I don't
know, really. As a solution I created a view on a subset of the columns
instead, in which I've managed to set the permissions.
So problem solved or at least avoided...
Regards,
Mogens
"Uri Dimant" wrote:
> Hi
> I did some testing but not usimg EM and it seems to be worked fine
> use demo
> create table test (c1 int,c2 int,c3 int)
> go
> grant select on test to test --test no syadmin,db_owner
> go
> deny select on test (c3) to test
> --connected as test
> select * from test
> --Server: Msg 229, Level 14, State 5, Line 1
> --SELECT permission denied on object 'test', database 'demo', owner 'dbo'
.
> select c1,c2,c3 from test
> --Server: Msg 229, Level 14, State 5, Line 1
> --SELECT permission denied on object 'test', database 'demo', owner 'dbo'
.
> select c1,c2 from test
> --works fine
>
>
>
> "Mogens Nielsen - WM-Data A/S"
> <MogensNielsenWMDataAS@.discussions.microsoft.com> wrote in message
> news:FC8AFD90-255F-4942-BC78-BE674669A1FE@.microsoft.com...
>
>sql
Tuesday, March 20, 2012
Permissions grants, denies don't take effect
Hi,
I'm trying to grant/deny object permissions in a user database using Enterprise Manager and query tool without success (for ‘public’ role and individual sql logins). I’m not getting any error messages. Permission changes just don’t take effect. Although, there are few objects, which already have permissions granted and I'm able to change permissions for these ones.
How can I change the permissions?
you might have a granted permission on a GUEST account
or an NT domain group. please check.
thats why denying wont work
|||there is no permissions granted or denied for the 'guest' account. I don't use domain groups.|||
What are the actual denies that you are trying to set. Did you verify that they appear in the system catalog (server_permissions, database_permissions)? Have you tried applying the denies using TSQL: DENY?
Thanks
Laurentiu
Monday, March 12, 2012
Permissions
The Report Manager will not show on a client machine unless I logon with the local machine administrator account of the report server. The logon credentials that I am using, on the client, is in the administrators group of the local machine of the server.
I am only able to author and view reports when physically logged on to the machine with the report server. The same credentials that were used on client machine are used when logging on to the server machine. I have granted as much permission to the user account as possible unless I am missing something in the report server.
It seems like a related permission issue happens when trying to run Report Builder. I get a better error message when running Report Builder(See Below). To be sure I have given explicit server administrator to the client logon. Furthermore I have given content manager rights to the client logon for a model and a report.
The client machine has framework 2.0 installed.
Here is the error produced when attempting to run the Report Builder.
PLATFORM VERSION INFO
Windows : 5.1.2600.131072 (Win32NT)
Common Language Runtime : 2.0.50727.42
System.Deployment.dll : 2.0.50727.42 (RTM.050727-4200)
mscorwks.dll : 2.0.50727.42 (RTM.050727-4200)
dfdll.dll : 2.0.50727.42 (RTM.050727-4200)
dfshim.dll : 2.0.50727.42 (RTM.050727-4200)
SOURCES
Deployment url : http://{Server Name:port number}/ReportServer/ReportBuilder/ReportBuilder.application
ERROR SUMMARY
Below is a summary of the errors, details of these errors are listed later in the log.
* Activation of http://{Server Name:port number}/ReportServer/ReportBuilder/ReportBuilder.application resulted in exception. Following failure messages were detected:
+ Downloading http://{Server Name:port number}/ReportServer/ReportBuilder/ReportBuilder.application did not succeed.
+ The remote server returned an error: (401) Unauthorized.
+ The target principal name is incorrect
COMPONENT STORE TRANSACTION FAILURE SUMMARY
No transaction error was detected.
WARNINGS
There were no warnings during this operation.
OPERATION PROGRESS STATUS
* [1/23/2006 1:55:22 PM] : Activation of http://{Server Name:port number}/ReportServer/ReportBuilder/ReportBuilder.application has started.
ERROR DETAILS
Following errors were detected during this operation.
* [1/23/2006 1:55:22 PM] System.Deployment.Application.DeploymentDownloadException (Unknown subtype)
- Downloading http://{Server Name:port number}/ReportServer/ReportBuilder/ReportBuilder.application did not succeed.
- Source: System.Deployment
- Stack trace:
at System.Deployment.Application.SystemNetDownloader.DownloadSingleFile(DownloadQueueItem next)
at System.Deployment.Application.SystemNetDownloader.DownloadAllFiles()
at System.Deployment.Application.FileDownloader.Download(SubscriptionState subState)
at System.Deployment.Application.DownloadManager.DownloadManifestAsRawFile(Uri& sourceUri, String targetPath, IDownloadNotification notification, DownloadOptions options, ServerInformation& serverInformation)
at System.Deployment.Application.DownloadManager.DownloadDeploymentManifestDirectBypass(SubscriptionStore subStore, Uri& sourceUri, TempFile& tempFile, SubscriptionState& subState, IDownloadNotification notification, DownloadOptions options, ServerInformation& serverInformation)
at System.Deployment.Application.DownloadManager.DownloadDeploymentManifestBypass(SubscriptionStore subStore, Uri& sourceUri, TempFile& tempFile, SubscriptionState& subState, IDownloadNotification notification, DownloadOptions options)
at System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri activationUri, Boolean isShortcut)
at System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state)
Inner Exception
System.Net.WebException
- The remote server returned an error: (401) Unauthorized.
- Source: System
- Stack trace:
at System.Net.HttpWebRequest.GetResponse()
at System.Deployment.Application.SystemNetDownloader.DownloadSingleFile(DownloadQueueItem next)
Inner Exception
System.ComponentModel.Win32Exception
- The target principal name is incorrect
- Source: System
- Stack trace:
at System.Net.NTAuthentication.GetOutgoingBlob(Byte[] incomingBlob, Boolean throwOnError, SecurityStatus& statusCode)
at System.Net.NTAuthentication.GetOutgoingBlob(String incomingBlob)
at System.Net.NegotiateClient.DoAuthenticate(String challenge, WebRequest webRequest, ICredentials credentials, Boolean preAuthenticate)
at System.Net.NegotiateClient.Authenticate(String challenge, WebRequest webRequest, ICredentials credentials)
at System.Net.AuthenticationManager.Authenticate(String challenge, WebRequest request, ICredentials credentials)
at System.Net.AuthenticationState.AttemptAuthenticate(HttpWebRequest httpWebRequest, ICredentials authInfo)
at System.Net.HttpWebRequest.CheckResubmitForAuth()
at System.Net.HttpWebRequest.CheckResubmit(Exception& e)
COMPONENT STORE TRANSACTION DETAILS
No transaction information is available.
reading the other posts about permissions leads me to believe that the permissions problem has to do with the number of hops from the client to the server processes. I have not fixed the problem but I am sure this is what it is.
I am still not sure about one thing. Since windows auth. is used, is it possible that the web service and the front end are picking up on the credentials when running it from the server machine? Alternatively, when running it from the client, kerberos auth. must be used to pass the credentials from the front end to the web service.
|||I am getting the same error trying to donwnload the report builder to any client. Works fine with a server\local account but not with a network account. I added myself to the local Server\SQLServer2005SQLBrowserUser & Server\SQLServer2005SQLReportServerUser groups with no avail.Friday, March 9, 2012
Permissions
The Report Manager will not show on a client machine unless I logon with the local machine administrator account of the report server. The logon credentials that I am using, on the client, is in the administrators group of the local machine of the server.
I am only able to author and view reports when physically logged on to the machine with the report server. The same credentials that were used on client machine are used when logging on to the server machine. I have granted as much permission to the user account as possible unless I am missing something in the report server.
It seems like a related permission issue happens when trying to run Report Builder. I get a better error message when running Report Builder(See Below). To be sure I have given explicit server administrator to the client logon. Furthermore I have given content manager rights to the client logon for a model and a report.
The client machine has framework 2.0 installed.
Here is the error produced when attempting to run the Report Builder.
PLATFORM VERSION INFO
Windows : 5.1.2600.131072 (Win32NT)
Common Language Runtime : 2.0.50727.42
System.Deployment.dll : 2.0.50727.42 (RTM.050727-4200)
mscorwks.dll : 2.0.50727.42 (RTM.050727-4200)
dfdll.dll : 2.0.50727.42 (RTM.050727-4200)
dfshim.dll : 2.0.50727.42 (RTM.050727-4200)
SOURCES
Deployment url : http://{Server Name:port number}/ReportServer/ReportBuilder/ReportBuilder.application
ERROR SUMMARY
Below is a summary of the errors, details of these errors are listed later in the log.
* Activation of http://{Server Name:port number}/ReportServer/ReportBuilder/ReportBuilder.application resulted in exception. Following failure messages were detected:
+ Downloading http://{Server Name:port number}/ReportServer/ReportBuilder/ReportBuilder.application did not succeed.
+ The remote server returned an error: (401) Unauthorized.
+ The target principal name is incorrect
COMPONENT STORE TRANSACTION FAILURE SUMMARY
No transaction error was detected.
WARNINGS
There were no warnings during this operation.
OPERATION PROGRESS STATUS
* [1/23/2006 1:55:22 PM] : Activation of http://{Server Name:port number}/ReportServer/ReportBuilder/ReportBuilder.application has started.
ERROR DETAILS
Following errors were detected during this operation.
* [1/23/2006 1:55:22 PM] System.Deployment.Application.DeploymentDownloadException (Unknown subtype)
- Downloading http://{Server Name:port number}/ReportServer/ReportBuilder/ReportBuilder.application did not succeed.
- Source: System.Deployment
- Stack trace:
at System.Deployment.Application.SystemNetDownloader.DownloadSingleFile(DownloadQueueItem next)
at System.Deployment.Application.SystemNetDownloader.DownloadAllFiles()
at System.Deployment.Application.FileDownloader.Download(SubscriptionState subState)
at System.Deployment.Application.DownloadManager.DownloadManifestAsRawFile(Uri& sourceUri, String targetPath, IDownloadNotification notification, DownloadOptions options, ServerInformation& serverInformation)
at System.Deployment.Application.DownloadManager.DownloadDeploymentManifestDirectBypass(SubscriptionStore subStore, Uri& sourceUri, TempFile& tempFile, SubscriptionState& subState, IDownloadNotification notification, DownloadOptions options, ServerInformation& serverInformation)
at System.Deployment.Application.DownloadManager.DownloadDeploymentManifestBypass(SubscriptionStore subStore, Uri& sourceUri, TempFile& tempFile, SubscriptionState& subState, IDownloadNotification notification, DownloadOptions options)
at System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri activationUri, Boolean isShortcut)
at System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state)
Inner Exception
System.Net.WebException
- The remote server returned an error: (401) Unauthorized.
- Source: System
- Stack trace:
at System.Net.HttpWebRequest.GetResponse()
at System.Deployment.Application.SystemNetDownloader.DownloadSingleFile(DownloadQueueItem next)
Inner Exception
System.ComponentModel.Win32Exception
- The target principal name is incorrect
- Source: System
- Stack trace:
at System.Net.NTAuthentication.GetOutgoingBlob(Byte[] incomingBlob, Boolean throwOnError, SecurityStatus& statusCode)
at System.Net.NTAuthentication.GetOutgoingBlob(String incomingBlob)
at System.Net.NegotiateClient.DoAuthenticate(String challenge, WebRequest webRequest, ICredentials credentials, Boolean preAuthenticate)
at System.Net.NegotiateClient.Authenticate(String challenge, WebRequest webRequest, ICredentials credentials)
at System.Net.AuthenticationManager.Authenticate(String challenge, WebRequest request, ICredentials credentials)
at System.Net.AuthenticationState.AttemptAuthenticate(HttpWebRequest httpWebRequest, ICredentials authInfo)
at System.Net.HttpWebRequest.CheckResubmitForAuth()
at System.Net.HttpWebRequest.CheckResubmit(Exception& e)
COMPONENT STORE TRANSACTION DETAILS
No transaction information is available.
reading the other posts about permissions leads me to believe that the permissions problem has to do with the number of hops from the client to the server processes. I have not fixed the problem but I am sure this is what it is.
I am still not sure about one thing. Since windows auth. is used, is it possible that the web service and the front end are picking up on the credentials when running it from the server machine? Alternatively, when running it from the client, kerberos auth. must be used to pass the credentials from the front end to the web service.
|||I am getting the same error trying to donwnload the report builder to any client. Works fine with a server\local account but not with a network account. I added myself to the local Server\SQLServer2005SQLBrowserUser & Server\SQLServer2005SQLReportServerUser groups with no avail.Monday, February 20, 2012
Permission editor?
I wonder is there a tool for easy setting of custom permissions for user on
database. When i try to do this via the Enterprise Manager it shows all the
objects in the DB without any grouping so it's difficult set permissions.
For example if i want to give SELECT permissions on all tables but not to
give SELECT on the VIEWS and i want to give EXECUTE permission on all
functions i must go around the list and put check-s on the boxes manually.
Thanks in advance
Georgi Peshterski
I suggest you script your tasks instead of performing them from Enterprise
Manager. Take a look at
http://vyaskn.tripod.com/generate_sc..._sql_tasks.htm to find
some useful examples.
HTH,
Vyas, MVP (SQL Server)
SQL Server Articles and Code Samples @. http://vyaskn.tripod.com/
"Georgi Peshterski" <unseen@.mail.bg> wrote in message
news:%233VrKC2aFHA.3040@.TK2MSFTNGP14.phx.gbl...
Hi,
I wonder is there a tool for easy setting of custom permissions for user on
database. When i try to do this via the Enterprise Manager it shows all the
objects in the DB without any grouping so it's difficult set permissions.
For example if i want to give SELECT permissions on all tables but not to
give SELECT on the VIEWS and i want to give EXECUTE permission on all
functions i must go around the list and put check-s on the boxes manually.
Thanks in advance
Georgi Peshterski